Perhaps the most well-known statement type is the :keyword:`if` statement. For
example::
- >>> def raw_input(prompt):
- ... import sys
- ... sys.stdout.write(prompt)
- ... sys.stdout.flush()
- ... return sys.stdin.readline()
- ...
- >>> x = int(raw_input("Please enter an integer: "))
+ >>> x = int(input("Please enter an integer: "))
>>> if x < 0:
... x = 0
... print 'Negative changed to zero'
This creates a function that can be called with fewer arguments than it is
defined to allow. For example::
- def raw_input(prompt):
- import sys
- sys.stdout.write(prompt)
- sys.stdout.flush()
- return sys.stdin.readline()
-
def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
while True:
- ok = raw_input(prompt)
+ ok = input(prompt)
if ok in ('y', 'ye', 'yes'): return True
if ok in ('n', 'no', 'nop', 'nope'): return False
retries = retries - 1
whatever the operating system supports); note that a user-generated interruption
is signalled by raising the :exc:`KeyboardInterrupt` exception. ::
- >>> def raw_input(prompt):
- ... import sys
- ... sys.stdout.write(prompt)
- ... sys.stdout.flush()
- ... return sys.stdin.readline()
- ...
>>> while True:
... try:
- ... x = int(raw_input("Please enter a number: "))
+ ... x = int(input("Please enter a number: "))
... break
... except ValueError:
... print "Oops! That was no valid number. Try again..."