Форум сайта python.su
0
Доброй ночи.
У меня вопрос, связанный с задачей из учебника, по которому я учу питон. (Автор Доусон, раньше читал Лутца, но после долгого перерыва решил, что вновь прочесть 1.5к страниц будет слишком)
И так, там есть задачка, суть которой сводится к следующему: Человек загадывает число, компьютер должен его угадать через цикл, в котором человек говорит компьютеру больше или меньше то число.
Я написал следующее:
import random print('zagadaite chislo ot 1 do 100') popitka = random.randint(0,100) print(popitka) ugadal = input('yes or no?') while ugadal == 'no': x = input('Less\more?') if x == 'less': popitka = random.randint(0, popitka) print(popitka) if x == 'more': popitka = random.randint(popitka,100) print(popitka) if ugadal == 'yes': print ('congratulate')
Офлайн
88
Нужно сдвигать верхнюю границу вниз после каждого ответа “меньше”. То есть завести для неё переменную и корректировать её содержимое. Собственно, с нижней границей следует поступить аналогично.
Отредактировано Shaman (Авг. 23, 2015 00:11:09)
Офлайн
0
Большое спасибо!
Офлайн
0
Отредактировано Manu_Vilks.Py (Авг. 31, 2015 11:36:34)
Офлайн
0
У меня было такое решение
P.S. вопрос: а как вы вставляете код так что бы его было видно как в программе
Отредактировано Manu_Vilks.Py (Авг. 31, 2015 11:40:39)
Прикреплённый файлы:
zadanie 3.py (886 байт)
Офлайн
0
J.R.Спасибо
Manu_Vilks.Py
from random import randint print("Игра Угадайка") print(" Тебе надо угадать число которое я загадаю") N=int(input("Введи предел чисел")) X=randint(0,N) Logic=0 p1=1 print("") print("Угадывай число, а я буду говорить, больше оно или меньше моего") while(Logic!=1): print ("Попытка номер", p1) input1=int(input("Введи число")) if input1<N or input1>0: if input1>X: print("Твое число больше моего") elif (input1<X): print("Твое число меньше моего") else: print("угадал(а)!!! Это было",input1) Logic=1 p1+=1 else: print("Не лезь за край!!!")
Отредактировано Manu_Vilks.Py (Сен. 1, 2015 20:55:58)
Офлайн
568
1. Следуйте стилевому стандарту
2. Не нужно придумывать управляющие переменные там, где достаточно break
3. Это ж у вас не Си, зачем постоянные скобки в If-ах?
4. Ну и not(input1>N or input1<0)
а нельзя изменить знаки на противоположные и убрать not? 
Отредактировано FishHook (Авг. 31, 2015 19:30:44)
Офлайн
1
Прошу прощения, но я не смог понять, почему в первом примере (у автора) не работал его метод. Подскажите пожалуйста, как по мне - ошибки вроде нет. Спасибо.
Офлайн