Light3JIbqp
Май 24, 2012 18:48:10
“Отгадай число”
Вот исходник:
——————————————————————————————————————————–
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
Май 24, 2012 19:34:22
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
Май 24, 2012 20:24:45
Спасибо
Light3JIbqp
Май 24, 2012 20:30:23
Значит
gel = int(input(“”))
может убрать бесконечный цикл?
fata1ex
Май 24, 2012 20:39:05
Может для начала почитать учебник по основам программирования? Освоиться в управляющих структурах и типах данных. В вашем примере значение gel вычисляется один раз вне цикла. А потом в цкиле вы выводите, меньше оно или больше загаданного компьютером. В моём варианте пользователь вводит новую попытку каждую итерацию цикла while.
Light3JIbqp
Май 25, 2012 18:47:28
И последние не могу сделать так, чтобы было ограниченное кол-во попыток.
Light3JIbqp
Май 25, 2012 18:52:32
т.е
popt = 5
а в while
popt -=1
—————————
Как сделать , чтобы если popt станет 0 , то попытки закончились?
reclosedev
Май 25, 2012 19:49:50
Light3JIbqp, можно использовать оператор break
Операторы break и continue, а также условие else в циклахsome_condition - какое-то условие, типа
boobs_size < 3. Для своего кода догадаетесь сами.