rishatss
@rishatss
Simple Developer ^)

Как решить проблема с циклом while?

Добрый день всем.

Что-то не пойму. Вроде по циклу переменная pop должна уменьшаться на переменную one. Каждый раз пока не ровно 0... А цикл происходит один раз.
Объясните проблему пожалуйста.
# -*- coding: utf-8 -*-
import random
n = random.randint(0, 10)
print u"Я загадал число от 0 до 10."
print u"Отгадайте"
pop = 3
while n!= True:
    one = 1
    summ = pop - one
    number = int(input(u"Введите число "))
    if number < n:   
        print u"Число больше"
        number = False
        print (u"Увы. Вы не откадали число. Осталось попыток "),summ
        continue
    elif number > n:
        print u"Число меньше"
        print (u"Увы. Вы не откадали число. Осталось попыток "),summ
        number = False
        continue
    elif number == n:
        print u"Вы отгадали число! :)"
        number = True
        print (u"Осталось попыток "),summ
        break
    else:
        print u"Что-то не так..."
        number = False
    if popitok < 1:
        print u"Вы проиграли:"
        number = True
  • Вопрос задан
  • 195 просмотров
Решения вопроса 2
sim3x
@sim3x
n = random.randint(0, 10)
n!= True:

подумай, в каком случае у тебя будет бесконечный цикл
Ответ написан
Комментировать
@vilgeforce
Раздолбай и программист
А с чего бы это pop должна меняться? У вас она используется два раза:
pop = 3
summ = pop - one

И нигде нет ее уменьшения.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev Куратор тега Python
software engineer
1.)
n = random.randint(0, 10)
while n!= True:
Каким образом случайное число от 0 до 10 будет вам давать True? Только когда оно равно 1?

2.) summ = pop - one
Вы присваиваете разницу в summ, а не в pop, pop у вас нигде не меняется
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы