获取用户输入的int或STR(Get user input as int or str)

2019-08-31 15:42发布

我很新的蟒蛇,相信我,我一直不断地寻找一个解决方案,这一点,但我不能得到它。

我有一个监测点的列表的CSV。 用下面的代码,我已经能够显示2dlist并获得用户输入一个数字来选择特定的情节(还有他们的11),根据该列表索引。

但是,提示用户进行选择的时候,我想包括一个选项“....或者按‘Q’退出”。 现在很明显的raw_input设置为仅接受整数,但我怎么能接受从列表或“Q”是多少?

如果我删除从raw_输入“诠释”,它不断提示重新输入,打印例外线。 我能得到它,接受指数数字(0-9)或“Q”?

for item in enumerate(dataList[1:]):            
    print "[%d] %s" % item

while True:
    try:
        plotSelect = int(raw_input("Select a monitoring plot from the list: "))
        selected = dataList[plotSelect+1]

        print 'You selected : ', selected[1]
        break
    except Exception:
        print "Error: Please enter a number between 0 and 9"

Answer 1:

将其转换成整数你检查之后,这不是'q'

try:
    response = raw_input("Select a monitoring plot from the list: ")

    if response == 'q':
        break

    selected = dataList[int(plotSelect) + 1]

    print 'You selected : ', selected[1]
    break
except ValueError:
    print "Error: Please enter a number between 0 and 9"


Answer 2:

choice = raw_input("Select a monitoring plot from the list: ")

if choice == 'q':
    break

plotSelect = int(choice)
selected = dataList[plotSelect+1]

检查用户输入q并明确退出循环的,如果他们(而不是依赖于一个异常被抛出)。 只有将它们的输入的int此检查后。



文章来源: Get user input as int or str