2015-12-31 3 views
-1

Я пытаюсь создать простую игру на кубиках, в которой пользователь выбирает номер, и если программа выполняет их бросок, они выигрывают. Проблема в том, что даже когда я побеждаю, в программе говорится: «О нет, ты проиграешь!» и я не могу понять, почему. Помоги пожалуйста!Попытка создать простую игру на основе кубиков

chosennumber = ("The dice rolled the number") 
    user_text = "Choose a number between 1-6" 
    print (user_text) 
    number = input('Enter a number: ') 
    import random 
    mylist = [1,2,3,4,5,6] 
    randomnum = random.choice(mylist) 
    print (chosennumber, randomnum) 
    if (number == randomnum): 
     print ("You win") 

    else: 
     print ("Oh no, you lose!") 
+0

Ваш код правильный, кажется, вы уверены, что номер, который вы дали, и случайное число, которое показывает такие же, когда вы говорите, они дать неправильный результат? – wolfsgang

ответ

2

Проблема заключается в том, что «число» переменная является строкой, «вход» всегда возвращает строку, и в вашем «если» вы сравниваете строку с номером, который всегда будет возвращать ложь. Вы можете проверить его, используя тип (число). Чтобы решить эту проблему, вам нужно преобразовать ввод в целое число с помощью int (number).

Также вы можете уточнить свой код. Поместите импорт в начале и постарайтесь не создавать ненужные переменные. Как уже упоминалось, вы можете избежать в перечень, использование случайных для генерации число от 1 до 6

import random 
chosennumber = ("The dice rolled the number") 
print ("Choose a number between 1-6") 
number = input('Enter a number: ') 
randomnum = random.randint(1,6) 
print (chosennumber, randomnum) 
if (int(number) == randomnum): 
    print ("You win") 
else: 
    print ("Oh no, you lose!") 
+0

А, это решило, спасибо. Это был мой первый опыт кодирования, поэтому я многому научился в создании проекта и из вашего комментария. :) – Zourtix

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