我想在Python中创建一个基于文本的菜单。在Python中处理文本菜单
下面是代码:
#!/usr/bin/env python
def testcaseOutput():
print '1. Add. 2. Subtract. 3. Divide. 4. Multiply'
try:
answer = int(raw_input('Enter a value (1 - 4) >. '))
except ValueError:
print 'Invalid input. Enter a value between 1 -4 .'
testcaseOutput()
if answer in range(1, 5):
return answer
else:
print 'Invalid input. Enter a value between 1 - 4.'
testcaseOutput()
我的问题:
当用户输入一个无效的输入,即不是一个数字,我想这个功能,再次调用。所以我使用了我认为是糟糕的设计的递归方法。我在
if answer in range(1, 5).
再次使用该方法是否有任何其他方式来处理?当输入无效时,我需要再次提示。
另外,有没有什么办法可以解决这两个约束:检查输入是否是数字并检查数字是否在范围(1,5)中?正如你所看到的,我正在单独检查。
相关:http://www.wellho.net/resources/ex.php4?item=y103/python_switch_case – badp 2010-05-25 10:10:55