Я выполняю упражнение с палиндромами в разделе 4 (определенная итерация) части 4 введения в программирование на mooc.fi.
в упражнении указано:
Пожалуйста, напишите функцию с именем palindromes, которая принимает строковый аргумент и возвращает True, если строка является палиндромом. Палиндромы — это слова, которые пишутся одинаково в обе стороны.
Пожалуйста, также напишите основную функцию, которая просит пользователя вводить слова до тех пор, пока он не введет палиндром:
NB: основная функция не должна находиться внутри if __name__ == "__main__":блока
Я написал код, но столкнулся с проблемой, когда код не выполняется:
def palindromes (word: str):
if word == word[::-1]:
return True
else:
return False
def main (word):
a= ""
while a!= "Paliindrome":
word=input("Please type in a palindrome: ")
check = palindromes(word)
if word == "palindrome":
break
if check:
print(f"{word} is a palindrome!")
else:
print("that wasn't a palindrome")
Решение проблемы
def palindromes(word: str):
return word == word[::-1]
def main():
while True:
word = input("Please type in a palindrome: ")
if word == "exit":
break
if palindromes(word):
print(f"{word} is a palindrome!")
else:
print("that wasn't a palindrome")
main()
мне кажется лучше:)
1.
word == word[::-1]является логическим и True или False, и вам не нужно его проверять,
2.
получите свой ввод и проверьте его на условие разрыва и не устанавливайте параметр для основной функции
Комментариев нет:
Отправить комментарий