Я изучаю Python и пытаюсь построить игру с угадыванием чисел.
Игра будет случайным образом генерировать целое число от 1 до 250 (оба включительно), чтобы угадать пользователя. Когда пользовательский ввод выходит за пределы диапазона, он запрашивает у пользователя, что это наш диапазон, и запрашивает другой ввод. Кроме того, он будет запрашивать пользователя, если он слишком высок или слишком низок, пока не будет угадано правильное число. В любой момент времени, если пользователь введет «стоп», он завершит игру.
Как часть требования о назначении, мне нужно кодировать 2 новые функции в дополнение к уже предоставленным и включить их в финальный запуск игры.
Я пытаюсь преобразовать циклы while ниже в функцию с небольшим прогрессом. Он либо заканчивается ошибкой позиционного аргумента, либо бесконечным циклом.
the_number = random.randint(1,250)
# capture initial user input
user_input = get_user_input()
# repeat code below as long as the user has not guessed the right number
while user_input != the_number:
# repeat code below as long as user has not entered STOP
while user_input != 'STOP':
# verify user input is within range
check_range(user_input)
if user_input < the_number:
slow_print("{} is too low". format(user_input))
print('\n')
user_input = get_user_input()
elif user_input > the_number:
slow_print("{} is too high". format(user_input))
print('\n')
user_input = get_user_input()
else:
slow_print("Congratulations you have guessed the correct number")
break
else:
slow_print('\nGame stopped by user. Thank you for playing')
break
Пожалуйста, кто-нибудь может подсказать, как я могу преобразовать циклы while в функцию, которая работает.