1

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.

Michael Geary
  • 28,450
  • 9
  • 65
  • 75
  • 5
    A screenshot of your code is not helpful. Paste your code - as text - into the question. – Andy Apr 26 '15 at 04:09

2 Answers2

5

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

Emdadul Sawon
  • 5,730
  • 3
  • 45
  • 48
  • 3
    What Sawon says is true. Still since William is using 3.4 and input() correctly this couldnt be the answer, can it? –  Apr 26 '15 at 13:00
1

In Python, the proper way of grabbing input is

input = raw_input('prompt')
Busturdust
  • 2,447
  • 24
  • 41