не могу получить переменную, равную в цикле - PullRequest
0 голосов
/ 27 апреля 2018

Так что я просто пытаюсь научиться программированию / кодированию. и я пытаюсь сделать цикл, где компьютер случайным образом угадывает число, которое я вставил (переменную), я в основном цикл с циклами "while" и "if / else", но вроде ... idk how положить переменную в. Я уверен, что есть другие вещи не так с кодом. Это просто, так как я только начал 2 дня назад. вот код

input = var
x = 0
counter = 0

while x == 0:
    from random import *
    print randint(1, 3)

    if randint == var:
        x = 1
        count = counter + 1
        print (counter)
        print "Good Bye!"
    else:
        x == 0
        counter = counter + 1
        print (counter)

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Обновлено по комментариям:

Я только что создал рабочую версию вашей программы, ваш ввод будет 1, и компьютер будет случайным образом угадывать 1,2,3, пока не даст правильный ответ.

#input = var this line is wrong as pointed out by others
input =  1 # this is your input number
x = 0
counter = 0
import random

while x == 0:
    #from random import * this will import too much in the while loop according to comments

    #randint(1, 3) this line is wrong
    randint = random.randint(1, 3) # computer guess from 1-3, then you should assign random generated number to randint
    print(randint)

    # if randint == var:  this line is wrong, you can't compare randint to var.
    if randint == input: #
        x = 1
        count = counter + 1 
        print(counter)
        print("Good Bye!")
    else:
        x = 0
        counter = counter + 1
        print(counter)

выход:

3
1
1
1
Good Bye!

Process finished with exit code 0
0 голосов
/ 27 апреля 2018
if randint == var:

всегда False. randint - это случайная функция , var - целое число (ну, это должно быть).

Вы имеете в виду:

r = randint(1,3)
if r == var:
   ...

(сохранить результат случайной функции, чтобы иметь возможность его отобразить и проверить его, вызвать его снова, очевидно, другое значение)

и да, первая строка должна быть var = int(input()), чтобы можно было вводить целые значения.

...