Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 22, 2015 23:55:39

MrJo
Зарегистрирован: 2014-04-23
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача с цилком

Доброй ночи.
У меня вопрос, связанный с задачей из учебника, по которому я учу питон. (Автор Доусон, раньше читал Лутца, но после долгого перерыва решил, что вновь прочесть 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')
Так вот смоделируем ситуацию, при которой я загадал число “17”.Когда компьютер принтит, допустим, 20, я говорю, например, меньше - все происходит нормально, далее комп. выбирает от 0 до 20, 2ым шагом он делает предположение, что я загадал 15, если я скажу больше - то он уже загадывает число не от 15 до 20, а от 15 до 100. Я понимаю, что это не компьютер виноват, а мой код не верен. Просьба помочь

Офлайн

#2 Авг. 23, 2015 00:09:59

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Задача с цилком

Нужно сдвигать верхнюю границу вниз после каждого ответа “меньше”. То есть завести для неё переменную и корректировать её содержимое. Собственно, с нижней границей следует поступить аналогично.

Отредактировано Shaman (Авг. 23, 2015 00:11:09)

Офлайн

#3 Авг. 23, 2015 08:06:01

J.R.
Зарегистрирован: 2015-07-18
Сообщения: 147
Репутация: +  16  -
Профиль  

Задача с цилком

.

Отредактировано J.R. (Фев. 27, 2016 16:46:23)

Офлайн

#4 Авг. 23, 2015 10:22:20

MrJo
Зарегистрирован: 2014-04-23
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача с цилком

Большое спасибо!

Офлайн

#5 Авг. 31, 2015 11:35:44

Manu_Vilks.Py
Зарегистрирован: 2015-08-27
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача с цилком


Отредактировано Manu_Vilks.Py (Авг. 31, 2015 11:36:34)

Офлайн

#6 Авг. 31, 2015 11:40:21

Manu_Vilks.Py
Зарегистрирован: 2015-08-27
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача с цилком

У меня было такое решение
P.S. вопрос: а как вы вставляете код так что бы его было видно как в программе

Отредактировано Manu_Vilks.Py (Авг. 31, 2015 11:40:39)

Прикреплённый файлы:
attachment zadanie 3.py (886 байт)

Офлайн

#7 Авг. 31, 2015 11:50:44

J.R.
Зарегистрирован: 2015-07-18
Сообщения: 147
Репутация: +  16  -
Профиль  

Задача с цилком

.

Отредактировано J.R. (Фев. 27, 2016 16:46:54)

Офлайн

#8 Авг. 31, 2015 19:07:45

Manu_Vilks.Py
Зарегистрирован: 2015-08-27
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача с цилком

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)

Офлайн

#9 Авг. 31, 2015 19:30:16

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Задача с цилком

1. Следуйте стилевому стандарту
2. Не нужно придумывать управляющие переменные там, где достаточно break
3. Это ж у вас не Си, зачем постоянные скобки в If-ах?
4. Ну и not(input1>N or input1<0)
а нельзя изменить знаки на противоположные и убрать not?



Отредактировано FishHook (Авг. 31, 2015 19:30:44)

Офлайн

#10 Сен. 1, 2015 15:01:33

Originator
От: Харьков, Украина
Зарегистрирован: 2015-08-01
Сообщения: 29
Репутация: +  1  -
Профиль   Отправить e-mail  

Задача с цилком

Прошу прощения, но я не смог понять, почему в первом примере (у автора) не работал его метод. Подскажите пожалуйста, как по мне - ошибки вроде нет. Спасибо.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version