python中的Input()在另一个input()之后不起作用

时间:2018-12-19 21:27:25

标签: python

当我的一行上有input()时,当第一行之后的input()彼此接连时,它们将无法工作。这是我的代码。

from random import randint
you = 100
troll = 50
sword = randint(5,20)
goblin_attack = randint(25,50)
heal = you + 25
t_f = randint(1,2)
print("______________________")
print("WELCOME TO DRAGON GAME")
print("WRITE YOUR NAME......")
x = input()
print("Hello,")
print(x)
print("Lets begin....")
print("______________________")
print("You are in a troll cave")
print("A troll attacks!")
print("Quick, Dodge or attack,type D or A ")
print("______________________")
if input() == "D":
  print("You attempt to dodge out of it's swing!")
if t_f == 1:
  print("You dodge and attack!")
print("You hit the troll for")
print(sword)
print("damage")
print("It has")
print(troll - sword)
print("health left!")
if t_f == 2:
  print("You trip! you got hit for")
print(goblin_attack)
print("damage!")
print("You have")
print(you - goblin_attack)
you2 = you- goblin_attack
print("Health left!")
if input() == "A":
 print("You hit the troll for")
print(sword)
print("damage")
print("It has")
print(troll - sword)
print("health left!")

当我按A并按Enter键时,什么也没有发生。但是当我按D时,它起作用了。无论我将输入更改为什么,第一个始终有效。任何人都知道如何使两个input都可以工作吗?

1 个答案:

答案 0 :(得分:1)

每个input呼叫都等待键盘输入,因此,当您两次调用input()时,您会要求两个键盘输入。

要解决此问题,请将您的代码更改为以下内容:

user_input = input()
if user_input == 'D':
    # go through the "dodge" scenario
elif user_input == 'A':
    # go through the "attack" scenario