Python 3.4 用户输入

Python 3.4 User Input

我想写一个小脚本来根据用户输入告诉我低音音量是否合适。

我只是在学习用户输入,这是我目前所掌握的:

def crisp():
    bass = input("Enter bass level on a scale of 1 to 5>>")
    print ("Bass level is at") + bass
    if bass >=4:
       print ("Bass is crisp")    
    elif bass < 4:
       print ("Bass is not so crisp")

转换为整数:

bass = int(input("Enter bass level on a scale of 1 to 5>>"))

我真的没有看到这里有问题,只是一个简单的程序可以做到这一点,而且只有这样:

a=1
while a==1:
    try:
        bass = input('Enter Bass Level: ')
        print('Bass level is at ' + str(bass))
        if bass >=4:
            print("Bass is crisp")
        elif bass < 4:
            print('Bass is not so crisp')
        a=0
    except ValueError:
        print('Invalid Entry')
        a=1

跟函数没太大区别:

def Bass():
    a=1
    while a==0:
        try:
            bass = input('Enter Bass Level: ')
            print('Bass level is at ' + str(bass))
            if int(bass) >=4:
                print("Bass is crisp")
            elif bass < 4:
                print('Bass is not so crisp')
            a=0
    except ValueError:
        print('Invalid Entry')
        a=1

当您通过内置函数接收 input() 时,它会将输入作为字符串。

>>> x = input('Input: ')
Input: 1
>>> x
"1"

相反,将 int() 转换为您的 input():

>>> x = int(input('Input: '))
Input: 1
>>> x
1

否则,在您的代码中,您正在检查 if "4" == 4:,这永远不会是真的。

因此,这是您编辑的代码:

def crisp():
    bass = int(input("Enter bass level on a scale of 1 to 5>>"))
    print ("Bass level is at") + bass
    if bass >=4:
       print ("Bass is crisp")    
    elif bass < 4:
       print ("Bass is not so crisp")