Форум сайта python.su
0
В чем суть,вот код:
def start(b):
print(“Добро пожаловать в игру кости!”)
a=str(input(“Выберите:Меньше,Больше,Равно”))
print(“Вы выбрали:”,a,“Вы уверены?”)
b=str(input())
return b
if b==“Нет” or b!=“Да”:
start()
Нужно создать игру кости, и важным условием является возможный выход игрока из игры.Тоесть при вопросе “Вы уверены?” можно было ответить “Нет” или каким другим словом, чтобы начать все заново.Так вот переменная b находится в функции.Я новичок и до конца не разобрался, как работает return.Она возвращает только значение в скобках?Тоесть вынести переменную b и использовать её в дальнейшем не выйдет или как?
Офлайн
857
Пример функций
>>> def f(): ... return 'cat' ... >>> def g(): ... return 'dog' ... >>> def k(): ... return f() + ' ' + g() ... >>> out = k() >>> print(out) cat dog >>>
Офлайн
0
py.user.nextА в чем тогда проблема моего кода?
Пример функций
Офлайн
857
Johny_JazzyНу, ты с чего-то взял, что возвращаемое значение функции имеет какое-то отношение к аргументу функции. Мой пример как раз показывает, что никакого аргумента даже близко нет в функции, а возвращаемое значение есть и работает.
А в чем тогда проблема моего кода?
Офлайн
0
py.user.nextЛадно,я убрал значение из аргумента функции и получилось так:
Офлайн
857
>>> def start(): ... print('Добро пожаловать в игру кости!') ... while True: ... a = input('Выберите (Менье,Больше,Равно): ') ... print('Вы выбрали:', a) ... print('Вы уверены?') ... b = input('Ответ (Да, Нет): ') ... if b == 'Нет' or b != 'Да': ... pass ... else: ... break ... return a ... >>> def play(): ... result = start() ... print('Выбран режим', result) ... print('Запускаем игру для этого режима') ... >>> play() Добро пожаловать в игру кости! Выберите (Менье,Больше,Равно): Меньше Вы выбрали: Меньше Вы уверены? Ответ (Да, Нет): Нет Выберите (Менье,Больше,Равно): Больше Вы выбрали: Больше Вы уверены? Ответ (Да, Нет): Да Выбран режим Больше Запускаем игру для этого режима >>>
Отредактировано py.user.next (Май 4, 2022 14:17:15)
Офлайн
0
py.user.nextСпасибо! Единственное что, можешь прояснить некоторые моменты:
Офлайн
857
Johny_JazzyДля того, чтобы повторять ввод, пока пользователь не введёт Да, обозначая свою уверенность.
1)Зачем нужен цикл while?
Johny_JazzyЕго кидает в самое начало цикла, если он не перешёл к break. Оператор pass означает “ничего не делать”.
2)Зачем в условии нам нужен pass и break.Т.к в теории,если пользователь жмет “Нет” или “блалплал”(любой ответ кроме “Да”) его должно кидать в самое начало.
Johny_JazzyОн относится к циклу while.
3)Как тут работает break?
Johny_JazzyФункция play() вызывает несколько функций одну за другой. Игра делится на начало, продолжение и конец. Каждый из этих этапов должен быть оформлен в виде функции. У тебя есть только начало - функция start(). Тебе нужно дописать функцию продолжение и функцию конец. Тогда игра будет играть любое число раз, но при этом не будет каждый раз приветствовать пользователя или каждый раз с ним прощаться.
4)Зачем тут нужна функция play.
Отредактировано py.user.next (Май 4, 2022 14:30:21)
Офлайн
0
py.user.nextА если pass означает ничего не делать,то почему он кидает его в начало цикла?Так работает pass или как?А break означает выход из цикла,тоесть после ответа “Да” он возвращает a и идет дальше делать код?
Офлайн
0
py.user.nextimport random
Офлайн