2016-01-29 6 views
0

Я довольно новичок в python. Я написал это, чтобы подражать кубикам;Пока цикл не прерывается.

dsides = int(input("how many sides do your dice have?")) 
print("Your dice has " + str(dsides) +" sides") 

dint = int(input("How many dice do you want to roll?")) 
print("You are rolling " + str(dint) + " dice") 

import random 
y=0 

while(y < dint): 
    out = random.randint(1, int(dsides)) 
    print(str(out)) 
    y+1 

проблема петли, пока не останавливается зацикливание на целое число «впадина» количество ....

+0

Это потому, что вы не назначили 'y' после увеличения. измените его на 'y = y + 1' – Kasramvd

ответ

1

В последней строке следует читать

y=y+1 

Теперь он ничего не делает к y.

(Общий совет для отладки: Если ваш цикл не завершается, распечатайте значение петли, чтобы увидеть, что происходит с ним)

+0

Мы все были там один раз ;-) - пожалуйста, отметьте ответ как принятый (что также даст вам некоторые тактические очки) – MortenSickel

+0

Проблема для моей отладки заключается в том, что я могу только сделать это через код. Я кодирую в колледже и из-за прав администратора и т. Д. Я могу использовать только онлайн-консоли, которые никогда не включают в себя отладки .... Поэтому я знал, что цикл застрял в цикле, потому что он ничего не возвращал. – Obiehakerman

+0

Как насчет добавления печати (y)? – MortenSickel

0

Вместо этого у + 1 вы должны сделать это у = у + 1

1

Вам нужно положить y + = 1 или y = y + 1 в конце while.

Смежные вопросы