Найти - Пользователи
Полная версия: Отгадай число на python проблема!!!
Начало » Центр помощи » Отгадай число на python проблема!!!
1
Light3JIbqp
“Отгадай число”
Вот исходник:
——————————————————————————————————————————–
import random
nomer = random.randint(1, 100 )
gel = int(input(Ваше предложение: ))
popt = 1
while gel != nomer:
if nomer < gel:
print(“Меньше”)
else:
print(“Больше”)
popt += 1
print(“Угадано это”, nomer)
print(“Попытки”, popt)
input(“\n\nEnter”)
——————————————————————————————————————————–
Проблема в том, что если число не угадано, то на экране бесконечно пишет либо Меньше либо Больше
И вообще можете доработать и объяснить, просто недавно начал учить python
Программа должна работать так:
компьютер загадывает число
Я должен его отгадать
Если оно больше то пишет больше, меньше пишет меньше
Когда число отгадано появляется число попыток которые были затрачены

Заранее спасибо
fata1ex
from random import randint
  
  
trials = 1
number = randint(1, 100)
  
guess = int(raw_input("Enter your number: "))
  
while guess != number:
	if guess < number:
		guess = int(raw_input("Wrong way, it's bigger. Try again: "))
	else:
		guess = int(raw_input("Wrong way, it's smaller. Try again: "))
  
	trials += 1
  
print "Not bad, it took {0} times to find out my number!".format(trials)

[20:32] home:~/dev/fun python help.py 
Enter your number: 50
Wrong way, it's smaller. Try again: 25
Wrong way, it's bigger. Try again: 37
Wrong way, it's bigger. Try again: 44
Wrong way, it's smaller. Try again: 40
Wrong way, it's bigger. Try again: 42
Wrong way, it's bigger. Try again: 43
Not bad, it took 7 times to find out my number!
Light3JIbqp
Спасибо
Light3JIbqp
Значит
gel = int(input(“”))
может убрать бесконечный цикл?
fata1ex
Может для начала почитать учебник по основам программирования? Освоиться в управляющих структурах и типах данных. В вашем примере значение gel вычисляется один раз вне цикла. А потом в цкиле вы выводите, меньше оно или больше загаданного компьютером. В моём варианте пользователь вводит новую попытку каждую итерацию цикла while.
Light3JIbqp
И последние не могу сделать так, чтобы было ограниченное кол-во попыток.
Light3JIbqp
т.е
popt = 5
а в while
popt -=1
—————————
Как сделать , чтобы если popt станет 0 , то попытки закончились?
reclosedev
Light3JIbqp, можно использовать оператор break
Операторы break и continue, а также условие else в циклах

if some_condition:
    break
some_condition - какое-то условие, типа boobs_size < 3. Для своего кода догадаетесь сами.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB