мой код не будет выполнять часть if / elif в этом - PullRequest
0 голосов
/ 19 января 2019

Когда я запускаю этот код (часть его) и попадаю на слово = input, он запускается и позволяет мне ввести свой ответ.Но вместо того, чтобы делать код if / elif, он скажет код выхода 0. Я не понимаю, почему это происходит, поэтому, пожалуйста, помогите.Я пытался удалить код здесь и там, но он ничего не изменил.

rand1 = random.randint(1, 2)
rand2 = random.randint(1, 4)
rand = random.randint(1, 1)
word = input("use a word that is 1-10 letters on a space, type a number 1 -    100 for the space: ")
if rand == "1":
    print("randomly generating")
elif rand1 == "1":
    a1 = word[0]
    a2 = word[1]
    a3 = word[2]
    a4 = word[3]
    a5 = word[4]
    a6 = word[5]
    a7 = word[6]
    a8 = word[7]
    a9 = word[8]
    a10 = word[9]
    letters()

это всего лишь часть, так как весь код слишком длинный для размещения здесь

здесь буквы введите описание изображения здесь

1 Ответ

0 голосов
/ 19 января 2019

причина в том, что rand генерирует целое число, тогда как вы сравниваете его со строкой.

Также

if rand == "1":
    print("randomly generating")
elif rand1 == "1":
    a1 = word[0]
    a2 = word[1]
    a3 = word[2]
    a4 = word[3]
    a5 = word[4]
    a6 = word[5]
    a7 = word[6]
    a8 = word[7]
    a9 = word[8]
    a10 = word[9]
    letters()

этот код кажется нелогичным, потому что if всегда будет работать как rand, всегда будет равен 1, а elif никогда не будет работать. все равно что говорить что-то делать, не делая этого :) rip english

Попробуйте использовать

if rand == "1":
    print("randomly generating")
    if rand1 == "1":
        a1 = word[0]
        a2 = word[1]
        a3 = word[2]
        a4 = word[3]
        a5 = word[4]
        a6 = word[5]
        a7 = word[6]
        a8 = word[7]
        a9 = word[8]
        a10 = word[9]
        letters()

Надеюсь, это поможет

...