第七章:AI进阶之------输入与输出函数(二)
文章目录
- 三、输入函数 input ()
- 3.1 input () 函数基础
- 3.2 输入内容的类型转换
- 3.3 处理输入错误
- 3.4 input () 函数的常见错误
- 四、实战练习
- 4.1 输入姓名并问候
- 4.2 计算两数之和
- 五、总结
- 六、常见问题与解答
- 6.1 print () 函数相关问题
- 6.2 input () 函数相关问题
- 七、课后练习
三、输入函数 input ()
3.1 input () 函数基础
在 Python 中,input () 函数用于从标准输入(通常是键盘)获取用户输入。其基本语法如下:
user_input = input("提示信息:")
示例 1:基本输入
name = input("请输入你的名字:")print("你好," + name + "!")
示例 2:输入与输出结合
age = input("请输入你的年龄:")print("你的年龄是:" + age)
注意:input () 函数返回的始终是字符串类型,即使用户输入的是数字。
3.2 输入内容的类型转换
由于 input () 函数返回的是字符串类型,当需要将输入内容作为数值处理时,必须进行类型转换。
示例 1:转换为整数
age = input("请输入你的年龄:")age = int(age) # 将字符串转换为整数print("你的年龄是:", age)
示例 2:转换为浮点数
height = input("请输入你的身高(米):")height = float(height) # 将字符串转换为浮点数print("你的身高是:", height, "米")
示例 3:计算两个数的和
num1 = input("请输入第一个数:")num2 = input("请输入第二个数:")sum = int(num1) + int(num2) # 转换为整数后相加print("两个数的和是:", sum)
3.3 处理输入错误
当用户输入的内容无法转换为目标类型时,会抛出 ValueError 异常,导致程序崩溃。为了提高程序的健壮性,我们需要使用异常处理机制来捕获并处理这些错误。
示例 1:简单的异常处理
try:age = int(input("请输入你的年龄:"))
except ValueError:print("输入错误!请输入一个有效的整数。")
示例 2:循环直到输入正确
while True:try:age = int(input("请输入你的年龄:"))breakexcept ValueError:print("输入错误!请输入一个有效的整数。")
print("你的年龄是:", age)
示例 3:综合应用
try:num1 = float(input("请输入第一个数:"))num2 = float(input("请输入第二个数:"))result = num1 + num2print("两个数的和是:", result)
except ValueError:print("输入错误!请输入有效的数字。")
3.4 input () 函数的常见错误
在使用 input () 函数时,初学者容易犯以下错误:
错误 1:忘记转换输入类型
# 错误示例:尝试直接使用字符串进行数学运算
num = input("请输入一个数字:")
print(num * 2) # 错误:将字符串重复两次,而不是数值相乘
错误原因:input () 返回的是字符串,直接与数字相乘会导致字符串重复,而不是数值运算。
解决方案:进行类型转换:
num = int(input("请输入一个数字:"))
print(num * 2) # 正确:数值相乘
错误 2:输入内容无法转换为目标类型
# 错误示例:用户输入非数字字符age = int(input("请输入你的年龄:")) # 如果用户输入"thirty",会抛出ValueError
错误原因:用户输入的内容无法转换为整数。
解决方案:使用异常处理:
try:age = int(input("请输入你的年龄:"))
except ValueError:print("输入错误!请输入一个有效的整数。")
错误 3:在 Python 2.x 中使用 input ()
# Python 2.x中的错误示例name = input("请输入你的名字:") # 错误:在Python 2.x中,input()会执行代码
错误原因:在 Python 2.x 中,input () 函数会尝试将输入作为 Python 表达式求值,可能导致安全问题。
解决方案:在 Python 2.x 中使用 raw_input () 函数,或者在 Python 3.x 中使用 input () 函数。
四、实战练习
现在,我们将通过两个实战练习来巩固所学的知识。请打开 PyCharm,创建一个新的 Python 文件,命名为io_practice.py
,然后按照以下练习进行操作。
4.1 输入姓名并问候
编写一个程序,要求用户输入姓名,然后输出问候语。程序需要处理用户输入的各种情况,包括空输入和非字母字符。
要求:
-
提示用户输入姓名。
-
检查输入是否为空。
-
检查输入是否包含非字母字符。
-
如果输入有效,输出问候语;否则,提示错误。
示例运行:
请输入你的姓名:Alice你好,Alice!欢迎使用本程序。请输入你的姓名:123输入错误!姓名只能包含字母。请输入你的姓名:输入错误!姓名不能为空。
提示:可以使用字符串的 isalpha () 方法检查是否只包含字母。
4.2 计算两数之和
编写一个程序,要求用户输入两个数字,计算它们的和并输出。程序需要处理各种可能的输入错误,如非数字输入、空输入等。
要求:
-
提示用户输入第一个数字。
-
提示用户输入第二个数字。
-
计算两个数字的和。
-
输出结果,保留两位小数。
-
处理输入错误,如非数字输入、空输入等。
示例运行:
请输入第一个数:3请输入第二个数:5两个数的和是:8.00请输入第一个数:2.5请输入第二个数:3.7两个数的和是:6.20请输入第一个数:abc输入错误!请输入有效的数字。
提示:可以使用 try-except 块处理异常,使用 float () 函数进行类型转换。
五、总结
今天的课程中,我们学习了 Python 的输入与输出函数,这是编写交互式程序的基础。
重点回顾:
- print () 函数:
-
用于向控制台输出信息。
-
可以打印单个或多个内容,使用 sep 参数自定义分隔符,使用 end 参数自定义结束符。
-
支持多种格式化输出方式:% 占位符、format () 方法和 f-strings。
- input () 函数:
-
用于获取用户输入,返回的始终是字符串类型。
-
需要进行类型转换以获取数值类型。
-
使用 try-except 块处理输入错误,提高程序的健壮性。
- 格式化输出:
-
% 占位符:较早期的方法,类似于 C 语言的 printf。
-
format () 方法:灵活强大,支持位置参数和关键字参数。
-
f-strings:简洁高效,推荐使用(Python 3.6+)。
- 输入处理:
-
始终对输入内容进行类型转换。
-
使用异常处理机制处理输入错误。
-
循环直到获取有效输入。
课后任务:
-
复习今天所学的内容,确保完全理解 print () 和 input () 函数的使用。
-
完成课堂练习中的两个实战任务。
-
预习下一节课的内容:流程控制语句(条件语句和循环语句)。
下一节课中,我们将学习 Python 的流程控制语句,包括条件判断(if-elif-else)和循环结构(for 和 while 循环)。这些内容将帮助我们编写更复杂、更灵活的程序。
如果你在学习过程中遇到任何问题,请随时提问。祝你学习愉快!
六、常见问题与解答
6.1 print () 函数相关问题
问题 1:如何在 print () 函数中不换行?
解答:可以使用 end 参数指定结束符为空字符串:
print("Hello", end="")print("World") # 输出:HelloWorld
问题 2:如何在 print () 函数中自定义分隔符?
解答:使用 sep 参数:
print("apple", "banana", "cherry", sep=", ") # 输出:apple, banana, cherry
问题 3:如何格式化浮点数的小数位数?
解答:使用格式化字符串:
pi = 3.1415926print("Pi is approximately {:.2f}".format(pi)) # 输出:3.14
6.2 input () 函数相关问题
问题 1:为什么 input () 函数返回的是字符串?
解答:input () 函数返回的是用户输入的原始内容,作为字符串处理,这样可以处理各种可能的输入,包括字母、符号等。
问题 2:如何将输入的字符串转换为整数?
解答:使用 int () 函数:
age = int(input("请输入你的年龄:"))
问题 3:如何处理用户输入的非数字内容?
解答:使用异常处理:
try:num = int(input("请输入一个数字:"))except ValueError:print("输入错误!请输入一个有效的整数。")
七、课后练习
- print () 函数练习:
-
编写一个程序,输出一个由星号组成的三角形。
-
编写一个程序,输出一个表格,包含姓名、年龄和职业信息。
- input () 函数练习:
-
编写一个程序,要求用户输入三个数字,计算它们的平均值并输出。
-
编写一个程序,要求用户输入一个年份,判断是否为闰年。
- 综合练习:
-
编写一个简单的计算器程序,支持加、减、乘、除四种运算。
-
编写一个程序,要求用户输入一个字符串,统计其中字母、数字和特殊字符的数量。
通过这些练习,你将能够更好地掌握 Python 的输入与输出函数,为后续的学习打下坚实的基础。如果你在练习过程中遇到任何问题,请随时提问。祝你学习进步!