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

2019-08-06 16:06发布

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.

2条回答
Deceive 欺骗
2楼-- · 2019-08-06 16:29

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())

查看更多
forever°为你锁心
3楼-- · 2019-08-06 16:45

In Python, the proper way of grabbing input is

input = raw_input('prompt')
查看更多
登录 后发表回答