Уведомления

Группа в Telegram: @pythonsu

#1 Май 24, 2012 18:48:10

Light3JIbqp
От:
Зарегистрирован: 2012-03-08
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Отгадай число на python проблема!!!

“Отгадай число”
Вот исходник:
——————————————————————————————————————————–
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
Программа должна работать так:
компьютер загадывает число
Я должен его отгадать
Если оно больше то пишет больше, меньше пишет меньше
Когда число отгадано появляется число попыток которые были затрачены

Заранее спасибо



Офлайн

#2 Май 24, 2012 19:34:22

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Отгадай число на python проблема!!!

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!



Офлайн

#3 Май 24, 2012 20:24:45

Light3JIbqp
От:
Зарегистрирован: 2012-03-08
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Отгадай число на python проблема!!!

Спасибо



Офлайн

#4 Май 24, 2012 20:30:23

Light3JIbqp
От:
Зарегистрирован: 2012-03-08
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Отгадай число на python проблема!!!

Значит
gel = int(input(“”))
может убрать бесконечный цикл?



Офлайн

#5 Май 24, 2012 20:39:05

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Отгадай число на python проблема!!!

Может для начала почитать учебник по основам программирования? Освоиться в управляющих структурах и типах данных. В вашем примере значение gel вычисляется один раз вне цикла. А потом в цкиле вы выводите, меньше оно или больше загаданного компьютером. В моём варианте пользователь вводит новую попытку каждую итерацию цикла while.



Офлайн

#6 Май 25, 2012 18:47:28

Light3JIbqp
От:
Зарегистрирован: 2012-03-08
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Отгадай число на python проблема!!!

И последние не могу сделать так, чтобы было ограниченное кол-во попыток.



Офлайн

#7 Май 25, 2012 18:52:32

Light3JIbqp
От:
Зарегистрирован: 2012-03-08
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Отгадай число на python проблема!!!

т.е
popt = 5
а в while
popt -=1
—————————
Как сделать , чтобы если popt станет 0 , то попытки закончились?



Офлайн

#8 Май 25, 2012 19:49:50

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Отгадай число на python проблема!!!

Light3JIbqp, можно использовать оператор break
Операторы break и continue, а также условие else в циклах

if some_condition:
    break
some_condition - какое-то условие, типа boobs_size < 3. Для своего кода догадаетесь сами.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version