GOOGLE ADS

вторник, 12 апреля 2022 г.

Палиндром с двумя функциями - упражнение Mooc

Я выполняю упражнение с палиндромами в разделе 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.

получите свой ввод и проверьте его на условие разрыва и не устанавливайте параметр для основной функции

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...