zadanie z wykorzystaniem zbioru- pomoc w kodzie

zadanie z wykorzystaniem zbioru- pomoc w kodzie
CR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 92
0

Zadanie pochodzi z książki „Python.Rusz głową”
Skrypt ma wypisywać samogłoski ze słowa podanego przez użytkownika- bez duplikatów.
Autor podał następujący algorytm, który ma wykorzystywać pojęcie zbioru w Pythonie:

Moglibyśmy zatem skorzystać z in, aby sprawdzić, czy zbiór zawiera jakąkolwiek literę, a następnie za pomocą pętli for cyklicznie sprawdzać występowanie poszczególnych liter słowa w zbiorze.
Niby wszystko jest napisane ale jakoś nie wiem jak przełożyć to na kod Pythona. Utknąłem na dobre.

napisałem takie coś:

Kopiuj
word=(input("podaj slowo do sprawdzenia samoglosek"))
vowels={'a','o','u','i','e',’y’}
vowels_in_word=set()
for letter in word:
    if letter in vowels:
       vowels_in_word.add(letter)
for i in vowels_in_word:
    print(i)

Z góry dziękuję za pomoc.

stivens
  • Rejestracja: dni
  • Ostatnio: dni
4

y masz w tyldzie a nie w apostrofie. A poza tym to chyba dziala.

CR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 92
0

dzięki stivens

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5025
2

Zrobiłbym to tak, złożoość, chyba będzie taka sama, ale, że tak powiem, przerzucasz "logikę" na Pythona:)

Kopiuj
# input:
s1 = "the answer is 42"

s1_to_set = set(s1)

vowels = set("aouiey")

vowels_from_word = vowels.intersection(s1_to_set)

print(vowels_from_word)
ledi12
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
2
Kopiuj
word=(input("podaj slowo do sprawdzenia samoglosek"))
vowels = {'i', 'y', 'e', 'u', 'o', 'a'}
print(",".join(vowels & set(word)))
CR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 92
0

Krótsza ( o dwie linijki) wersja mojego pierwszego skryptu wykorzystująca operator in i pętle for:

Kopiuj

word=(input("podaj slowo do sprawdzenia samoglosek"))
vowels = {'i', 'y', 'e', 'u', 'o', 'a'}
word=set(word)
for letter in word:
    if letter in vowels:
        print(letter)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.