3.2 输入


大多数程序都需要从用户那儿获取一定的信息,如了解用户的姓名或年龄,询问用户问题的答案等。我们需要使用input()函数。

input()函数让程序暂停运行,等待用户输入文本之后再继续执行。获取用户的输入后,我们可以将用户输入的内容保存在变量中,以方便使用。

例如,

input('你好,请输入你的名字:')


该函数有一个参数,这个参数内容就是给用户的提示或说明,让用户知道要做什么。上面的例子中,当Python执行到这个程序的时候,用户将看到提示“你好,请输入你的名字:”。


程序等待用户输入,并在用户按回车键后继续运行。该函数返回用户输入的内容,我们可以将其保存在一个变量中。

myName =input('你好,你叫什么名字呀?')
print('\n见到你真高兴,'+ myName+'!')
print(myName*10)

上面的例子中,\n代表回车键,这样会在提示信息和输出信息之间空一行,让显示效果更加清晰。

前面的if…else语句可以判断两种不同的情况,当判断条件为多个值时,可以使用以下形式:

if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
这里elif是else if的缩写,我们再来举一个好玩的例子。
age=input("请在这里输入您的年龄:")
age=int(age)
if age <= 12:
print("当小孩真好,无忧无虑。")
elif age in range(13, 20):
print("阳光明媚的青少年!")
elif age in range(20, 100):
print("想干啥就干啥的成年人")
else:
print("难道你就是传说中的千年老妖?")

这里需要注意的是,age=input("请在这里输入您的年龄:")获取的是用户输入的一个字符串,字符串是不可以作为数值比较大小的,因此我们需要将其转换为整数,age=int(age),int()函数用于将用户输入的文本转换成整数。下面我们就可以对整数进行大小的比较了。

前面学习的if…else语句只能处理两种不同的情况,如果超过两种不同的情况,需要使用if…elif…else结构,它将依次判断每个条件,直到通过了条件测试。判断通过后,Python将执行紧跟在它后面的代码,并跳出余下的判断。

上面的程序中,将首先判断用户输入的年龄是否小于等于12,如果条件为真,将打印对应的信息"当小孩真好,无忧无虑。"并跳出余下的判断。接下来elif age in range(13, 20)是另外一个判断,它仅在前面的判断没有通过的时候才会运行。如果这个人的年龄在13到20之间(比20小),将打印”阳光明媚的青少年!"并跳过后面的语句;如果前面的两个条件都没有满足,那么将执行elif age in range(20, 100),判断年龄是否在20到100之间(比100小),如果条件都不满足,那么执行print("难道你就是传说中的千年老妖?")语句。

如果用户输入12.9这样的小数,会发生什么情况?我们会得到很多红色的错误提示信息。


input()函数获取的值是字符串,int()函数无法把“12.9”这样的字符串转换成整数,这个问题可以这样解决:
age=input("请在这里输入您的年龄:")
age=int(float(age))print(age)
if age <= 12:
print("当小孩真好,无忧无虑。")
elif age in range(13, 20):
print("阳光明媚的青少年!")
elif age in range(20, 100):
print("想干啥就干啥的成年人")
else:
print("难道你就是传说中的千年老妖?")


float() 函数用于将整数和字符串转换成浮点数。

5doFPynlKZLHc2U7h+JenH43ed0uqjWOoIFMM4uUQ2WAFMLIuEnH+iN7nylUTUxO