获取用户的原始输入

时间:2015-02-18 10:37:24

标签: python raw-input

我通过raw_input(使用for循环)从用户那里获得了输入。

我可以使用哪些代码来确保如果用户只按 Enter ,它会保留默认值(即raw_input在没有值时返回空字符串''输入的)?

因此,默认值采用变量形式:

age_years = 2       
cash_earned_last_year = 1000  
growth = 0.02 

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您需要迭代用户插入的值,如果用户只键入Enter键,则替换为空字符串。

def values_input():
    return raw_input("Please enter value or 'quit' to finish: ")

values = []
for code in iter(values_input, "quit"):
    if len(code) == 0:
        values +=['']
    else:
        values += [code]
print values

答案 1 :(得分:0)

您可以使用if检查用户是否只按下了输入。作为jonrsharpe 说,只有 Enter 会将您的输入设置为空字符串,即''

if user_answer_1 == '':
    age_years = 2       
    cash_earned_last_year = 1000  
    growth = 0.02

如果用户应该按Enter键或提供大量输入,那么如果他的第一个答案是 Enter ,您可以使用break来跳过其余的问题。

while True:

    user_age_answer = input('\nAge?') 

    if user_age_answer == '':
        age_years = 2       
        cash_earned_last_year = 1000  
        growth = 0.02
        # Skips the rest of the questions.
        break

    # Here go the rest of the questions.
    user_cash_answer = input('Cash?')

    # And then you do what you want with the answers.
    age_years = user_age_answer

    # This break is used to exit loop.
    break