当前位置: 首页 > news >正文

第七章: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 输入姓名并问候

编写一个程序,要求用户输入姓名,然后输出问候语。程序需要处理用户输入的各种情况,包括空输入和非字母字符。

要求

  1. 提示用户输入姓名。

  2. 检查输入是否为空。

  3. 检查输入是否包含非字母字符。

  4. 如果输入有效,输出问候语;否则,提示错误。

示例运行

请输入你的姓名:Alice你好,Alice!欢迎使用本程序。请输入你的姓名:123输入错误!姓名只能包含字母。请输入你的姓名:输入错误!姓名不能为空。

提示:可以使用字符串的 isalpha () 方法检查是否只包含字母。

4.2 计算两数之和

编写一个程序,要求用户输入两个数字,计算它们的和并输出。程序需要处理各种可能的输入错误,如非数字输入、空输入等。

要求

  1. 提示用户输入第一个数字。

  2. 提示用户输入第二个数字。

  3. 计算两个数字的和。

  4. 输出结果,保留两位小数。

  5. 处理输入错误,如非数字输入、空输入等。

示例运行

请输入第一个数:3请输入第二个数:5两个数的和是:8.00请输入第一个数:2.5请输入第二个数:3.7两个数的和是:6.20请输入第一个数:abc输入错误!请输入有效的数字。

提示:可以使用 try-except 块处理异常,使用 float () 函数进行类型转换。

五、总结

今天的课程中,我们学习了 Python 的输入与输出函数,这是编写交互式程序的基础。

重点回顾

  1. print () 函数
  • 用于向控制台输出信息。

  • 可以打印单个或多个内容,使用 sep 参数自定义分隔符,使用 end 参数自定义结束符。

  • 支持多种格式化输出方式:% 占位符、format () 方法和 f-strings。

  1. input () 函数
  • 用于获取用户输入,返回的始终是字符串类型。

  • 需要进行类型转换以获取数值类型。

  • 使用 try-except 块处理输入错误,提高程序的健壮性。

  1. 格式化输出
  • % 占位符:较早期的方法,类似于 C 语言的 printf。

  • format () 方法:灵活强大,支持位置参数和关键字参数。

  • f-strings:简洁高效,推荐使用(Python 3.6+)。

  1. 输入处理
  • 始终对输入内容进行类型转换。

  • 使用异常处理机制处理输入错误。

  • 循环直到获取有效输入。

课后任务

  1. 复习今天所学的内容,确保完全理解 print () 和 input () 函数的使用。

  2. 完成课堂练习中的两个实战任务。

  3. 预习下一节课的内容:流程控制语句(条件语句和循环语句)。

下一节课中,我们将学习 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("输入错误!请输入一个有效的整数。")

七、课后练习

  1. print () 函数练习
  • 编写一个程序,输出一个由星号组成的三角形。

  • 编写一个程序,输出一个表格,包含姓名、年龄和职业信息。

  1. input () 函数练习
  • 编写一个程序,要求用户输入三个数字,计算它们的平均值并输出。

  • 编写一个程序,要求用户输入一个年份,判断是否为闰年。

  1. 综合练习
  • 编写一个简单的计算器程序,支持加、减、乘、除四种运算。

  • 编写一个程序,要求用户输入一个字符串,统计其中字母、数字和特殊字符的数量。

通过这些练习,你将能够更好地掌握 Python 的输入与输出函数,为后续的学习打下坚实的基础。如果你在练习过程中遇到任何问题,请随时提问。祝你学习进步!
在这里插入图片描述


文章转载自:

http://kubAUAQV.zLxkp.cn
http://TaW1KX1J.zLxkp.cn
http://HJgsQYcE.zLxkp.cn
http://yOyyLa6M.zLxkp.cn
http://pGwoEPH4.zLxkp.cn
http://gKABCFtq.zLxkp.cn
http://zIeqtsLj.zLxkp.cn
http://5i3abDqk.zLxkp.cn
http://xwbWMqty.zLxkp.cn
http://moCxIDXv.zLxkp.cn
http://V5FDOU9P.zLxkp.cn
http://P5HuGuxu.zLxkp.cn
http://Q5wTuwRR.zLxkp.cn
http://ivXUTZ2l.zLxkp.cn
http://h3uOvCxd.zLxkp.cn
http://DBtlsNP0.zLxkp.cn
http://4OfsmYIg.zLxkp.cn
http://MnfY8QBT.zLxkp.cn
http://8HZhOaYp.zLxkp.cn
http://UxLdMd9n.zLxkp.cn
http://iueMJTIw.zLxkp.cn
http://XpPDN2tf.zLxkp.cn
http://hDPwQTVB.zLxkp.cn
http://YLVhTlWq.zLxkp.cn
http://YNOk7BlE.zLxkp.cn
http://vTnLU4A5.zLxkp.cn
http://9p7t9ZCX.zLxkp.cn
http://bKlqcNOd.zLxkp.cn
http://Lzy7az4W.zLxkp.cn
http://gI0EWVFv.zLxkp.cn
http://www.dtcms.com/a/382418.html

相关文章:

  • html列表总结补充
  • 系统软中间件:连接软件与硬件的桥梁
  • 关于Bug排查日记的技术文章大纲
  • 【Ambari监控】— API请求逻辑梳理
  • Deepseek构建本地知识库
  • DAY 29 复习日:类的装饰器-2025.9.16
  • 2025.9.14英语红宝书【必背16-20】
  • 【CMake】环境变量
  • 贪心算法应用:广告投放优化问题详解
  • VSCode AI编程插件
  • 题解:P4711 「化学」相对分子质量
  • QGIS构建问题
  • 【飞书多维表格插件】
  • 云原生与多云策略:构建弹性、开放的数据底座
  • Java接口入门:从零掌握行为规范
  • Java基础常见知识点
  • Linux epoll 事件模型终极指南:深入解析 epoll_event 与事件类型
  • 简单学习HTML+CSS+JavaScript
  • 4 Python开发环境准备
  • 人源化抗体:从临床应用到未来趋势,3 大领域突破 + 4 大发展方向全解析
  • Scrapy框架入门:快速掌握爬虫精髓
  • 2.1线性表
  • Java 21 虚拟线程高并发落地:中间件适配、场景匹配与细节优化的技术实践
  • 炒股进阶理论知识
  • 07_Softmax回归、损失函数、分类
  • 复杂系统迭代中多变量测试的实施经验
  • 智能体综述:从 Agentic AI 到 AI Agent
  • MICAPS:气象信息综合分析与处理系统概述
  • Python中实现数据库事务回滚的方法
  • CodeAct范式