Форум сайта python.su
Здравствуйте!
На сайте codeacademy есть небольшая задачка:
Pig Latin is a language game, where you move the first letter of the word to the end and add “ay.” So “Python” becomes “ythonpay.” To write a Pig Latin translator in Python, here are the steps we'll need to take:
1 Ask the user to input a word in English.
2 Make sure the user entered a valid word.
3 Convert the word from English to Pig Latin.
4 Display the translation result.
Помогите, пожалуйста, решить её, кто может
Как я понял изначально нужно задать всплывающее окно, где будет запрос на ввод слова:
x=raw_input (“Enter your word, please”)
После ввода система, как я понял, должна спросить пользователя, верно ли он ввел слово? Даже если это не так по условию задачи, хотелось бы поэкспериментировать, если можно))
То есть хочется, что бы был новый raw_input запрос с вопросом “Are you sure the word is correct?” и ответы “Yes” or “No”. Если Ес, то движемся ко второму пункту, если Ноу, то пусть введёт новое слово.
Как добавить новый запрос на Yes и No после первого raw_input?
x=raw_input (“Enter your word, please”)
raw_input (“Are you sure the word is correct?”)
If “Yes” идём к пункту 3 (Convert the word from English to Pig Latin.):
print (x+x+“ay”(удаляет 0:1) пришлось картинкой вставить) - Перенос первой буквы в конец слова и добавление ay. Так?))
Как показать выражение “Если результат равен Yes, то следует выполнить вот этот код (указать код)”? Через просто print или return?
elif “No” возвращаем первый raw_input (“Enter your word, please”) и процедура повторяется
Отредактировано hewonders (Авг. 12, 2016 12:28:28)
Офлайн
>>> import re >>> >>> def word_to_pig(word): ... return word[1:] + word[0] + 'ay' ... >>> text = 'one two three' >>> >>> re.sub(r'\b\S+\b', lambda m: word_to_pig(m.group()), text) 'neoay wotay hreetay' >>>
>>> def word_to_pig(word): ... return word[1:] + word[0] + 'ay' ... >>> text = 'one two three' >>> >>> ' '.join(map(word_to_pig, text.split())) 'neoay wotay hreetay' >>>
Отредактировано py.user.next (Авг. 13, 2016 04:18:13)
Офлайн
Спасибо. Какой командой происходит 4 Display the translation result.?
Офлайн
>>> def word_to_pig(word): ... return word[1:] + word[0] + 'ay' ... >>> text = 'one two three' >>> >>> out = ' '.join(map(word_to_pig, text.split())) >>> print(out) neoay wotay hreetay >>>
Офлайн
Спасибо!
Я приветствую снова.
Посмотрев функции питона я нашёл кое-что.. это кое-что оказалось очень простым. То что вы описали.. оно.. я не понимаю.. такие коды любой начнет писать, кто будет заниматься несколько лет подряд и в голове начнут укладываться очень сложные функции и проще уже мыслить не получится? Такое постигнет любого, кто глубоко начнёт изучать питон?) Потому что я подобрал очень простенький код:
word_input = input(“Enter your word: ”)
word = word_input
first = word_input
result = word + first + ‘ay’
print(result)
Он без конфирмэйшана. Помогите, пожалуйста, разобраться с ним.
Есть задание:
1) Попросить пользователя ввести слово.
2) Спросить пользователя верно ли он его ввёл (Yes/No). Если неверно(ответ No или своё слово), то попросить ввести слово повторно.
Есть возможность сделать это с помощью лупа if/while?
Как перейти от одного inputa к другому?
Первый инпут просит ввести слово, а второй подтверждает слово.. верное оно или нет? Если да, то выполняется функция, если ответ Нет или другой слово, то просит ввести слово снова.
Как я понял начало будет таким:
word_input = input("Enter your word: ") word_input = input("Is your word correct?") choice_yes = ["Yes", "YES", "yes"] choice_no = ["No", "NO", "no"] if word_input == choice_no: print("Enter your word again :") elif word_input == choice_yes: print("Accepted") #После этого нужно сделать процедуру с подстановкой и перемещением букв else: print("Didn't get ya") word = word_input[1:] first = word_input[0] result = word + first + 'ay' print(result)
Отредактировано hewonders (Авг. 18, 2016 11:11:14)
Офлайн
Я пробовал сделать так
word_input = input("Enter your word: ") if word_input == "NO": word_input = input("Enter your word: ") else: print("lol")
Отредактировано hewonders (Авг. 18, 2016 15:55:26)
Офлайн