Python: Loop isn't waiting for user's inpu

2019-08-06 15:44发布

问题:

Normally when I do a input for the user, Python waits until they press the enter key. However in my script for some reason Python isn't waiting for an input and keeps printing the text...

user_option(), just has a few print statements in it...

If anyone could tell me how to make it so it will wait until the user enters an input that would be very much appreciated.

Code:

while True:
  user_option()
  decision = input("What coarse of action should I take?")
  decision = decision.strip().lower()
  if decision == "a":
    rehydration()
  elif decision == "b":
    moderate_speed()
  elif decision == "c":
    fast_speed()
  elif decision == "d":
    rest()

I'm running this with Python 3.4.

回答1:

Problem is in the input method. In Python 3.x raw_input() does not exits and only input() exits. But in older version input() and raw_input() exits. So according to your Python version use proper method. See more here.

In Python 3.x you can simulate raw_input() by using eval(input())



回答2:

In Python, the proper way of grabbing input is

input = raw_input('prompt')