# Игра Угадай Число
import random
num = random.randint(1, 50)
guesses = 0
flag = True
while flag == True:
choice = int(input("Угадайте число (от 1 до 50) : "))
if (choice == num):
flag == False
aftergamechoice = input(f"Верно! Вы угадали число за {guesses} попыток. Хотите попробовать ещё раз? (y/n): ")
if (aftergamechoice == "y"):
flag == True
guesses = 0
elif (aftergamechoice == "n"):
print("Пока!")
elif (choice > num):
print(f"Не верно! Ваше число больше загаданного. Попыток использовано : {guesses}.")
guesses += 1
elif (choice < num):
print(f"Не верно! Ваше число меньше загаданного. Попыток использовано : {guesses}.")
guesses += 1
if (guesses == 10):
print("10 попыток")
flag == False
aftergamechoice = input("Вы проиграли, использовав все попытки. Хотите попробовать ещё? (y/n): ")
if (aftergamechoice == "y"):
flag = True
guesses = 0
elif (aftergamechoice == "n"):
print("Пока!")
Python
Программа не определяет количество использованных попыток. Почему?
Делаю игру угадай число - не хочет заканчивать игру на 10 попытках (не выключает переменную flag). Не видит их количество вообще - даже не отправляет что оно увидело что попытки были использовнны. Помогите, пожалуйста ;-;
Потому что нет условия выхода из цикла по количеству попыток, он выполняется до тех пор пока не введёте правильное число.
Вот это надо в тело цикла вставить:
if (guesses == 10):
print("10 попыток")
flag == False
Вот это надо в тело цикла вставить:
if (guesses == 10):
print("10 попыток")
flag == False
Sasha Motorkin
Спасибо огромное!
Ошибка заключается в использовании оператора сравнения '==' вместо оператора присваивания '=' при изменении значения переменной flag внутри цикла while. В связи с этим, значение переменной flag не изменяется, и цикл продолжается бесконечно.
Исправленный код должен выглядеть следующим образом:
```
import random
num = random.randint(1, 50)
guesses = 0
flag = True
while flag:
choice = int(input("Угадайте число (от 1 до 50): "))
if choice == num:
flag = False
aftergamechoice = input(f"Верно! Вы угадали число за {guesses} попыток. Хотите попробовать еще раз? (y/n): ")
if aftergamechoice == "y":
flag = True
guesses = 0
elif aftergamechoice == "n":
print("Пока!")
elif choice > num:
print(f"Не верно! Ваше число больше загаданного. Попыток использовано: {guesses}.")
guesses += 1
elif choice < num:
print(f"Не верно! Ваше число меньше загаданного. Попыток использовано: {guesses}.")
guesses += 1
if guesses == 10:
print("10 попыток")
flag = False
aftergamechoice = input("Вы проиграли, использовав все попытки. Хотите попробовать еще? (y/n): ")
if aftergamechoice == "y":
flag = True
guesses = 0
elif aftergamechoice == "n":
print("Пока!")
```
Также был исправлен вывод сообщений о количестве использованных попыток для случаев, когда игрок угадал число или проиграл, в соответствии с логикой игры.
Исправленный код должен выглядеть следующим образом:
```
import random
num = random.randint(1, 50)
guesses = 0
flag = True
while flag:
choice = int(input("Угадайте число (от 1 до 50): "))
if choice == num:
flag = False
aftergamechoice = input(f"Верно! Вы угадали число за {guesses} попыток. Хотите попробовать еще раз? (y/n): ")
if aftergamechoice == "y":
flag = True
guesses = 0
elif aftergamechoice == "n":
print("Пока!")
elif choice > num:
print(f"Не верно! Ваше число больше загаданного. Попыток использовано: {guesses}.")
guesses += 1
elif choice < num:
print(f"Не верно! Ваше число меньше загаданного. Попыток использовано: {guesses}.")
guesses += 1
if guesses == 10:
print("10 попыток")
flag = False
aftergamechoice = input("Вы проиграли, использовав все попытки. Хотите попробовать еще? (y/n): ")
if aftergamechoice == "y":
flag = True
guesses = 0
elif aftergamechoice == "n":
print("Пока!")
```
Также был исправлен вывод сообщений о количестве использованных попыток для случаев, когда игрок угадал число или проиграл, в соответствии с логикой игры.
Похожие вопросы
- Помогите написать программу которая посчитает количество строк в отзыве
- Помогите понять г*вно ли код? Необходимо написать программу, которая определяет число просто или составное.
- Как использовать переменную созданную в def во всей программе python
- Python. Как узнать количество попыток для происхождения удачного события, вероятность которого равна 0,1632%?
- Как с помощью программы вычислить количество делителей числа?
- Напишите программу, которая подсчитает и выведет количество слов длины 10, которые можно составить из букв a, b, c.
- Что нужно сделать что-бы программа работала?
- Задача в питоне!!!!!! Дано целое число n (n находится в диапазоне от 1 до 99), определяющее возраст человека в годах.
- Во втором коде программы разобрался, а в предыдущем нет.
- Помогите программу на Питоне правильно составить.