第9节:综合案例
在最后一节内容,我们结合之前学过的知识点,做一个综合性案例。
在制作综合案例之前,我们先了解几个用户与程序交互的方法。
input()
函数
1. 获取用户输入:input()
函数会暂停程序的执行,等待用户在终端/命令行中输入一些文本,然后按下 Enter 键。用户输入的内容会以字符串的形式返回给程序。
基本用法:
## 程序会在这里暂停,等待用户输入
user_input = input()
print("你输入的内容是:", user_input)
print("输入内容的类型是:", type(user_input)) # 注意,总是 <class 'str'>
添加提示信息:
为了让用户知道应该输入什么,我们可以在 input()
函数的括号里放一个字符串作为提示语 (Prompt)。
name = input("请输入你的名字: ") # 显示提示语
print("你好, " + name + "!")
age_str = input("请输入你的年龄: ") # 提示用户输入年龄
print("你输入的年龄是: " + age_str)
重要:input()
返回的是字符串!
请特别注意,无论用户输入的是数字还是文字,input()
函数总是将其作为字符串返回。如果你需要将用户的输入当作数字来处理(例如进行数学运算),就必须进行类型转换。
int(字符串)
:将字符串转换为整数。float(字符串)
:将字符串转换为浮点数。
age_str = input("请输入你的年龄: ")
## print(age_str + 1) # 这会报错 TypeError,因为字符串不能直接和整数相加
## 需要先转换类型
age_int = int(age_str) # 将输入的字符串转换为整数
next_year_age = age_int + 1
print("明年你就 " + str(next_year_age) + " 岁了。") # 输出时再转回字符串拼接
## ---
price_str = input("请输入商品价格: ")
quantity_str = input("请输入购买数量: ")
price_float = float(price_str) # 转为浮点数
quantity_int = int(quantity_str) # 转为整数
total_cost = price_float * quantity_int
print("总价是:", total_cost)
2. 猜数字游戏
现在,让我们把前面几章学到的知识(变量、input()
、类型转换、while
循环、if-elif-else
条件判断、random
模块)整合起来,编写一个经典的“猜数字”小游戏。
游戏规则:
- 程序随机生成一个 1 到 100 之间的整数。
- 让用户反复输入猜测的数字。
- 如果用户猜的数字比目标数字大,提示“太大了!”。
- 如果用户猜的数字比目标数字小,提示“太小了!”。
- 如果用户猜对了,提示“恭喜你猜对了!”,并结束游戏。
import random # 需要用到随机数生成
## 1. 生成目标数字
target_number = random.randint(1, 100)
print("我已经想好了一个 1 到 100 之间的整数。")
## 游戏主循环
while True: # 使用一个无限循环,直到猜对才退出
# 2. 获取用户猜测 (注意输入的是字符串)
guess_str = input("请输入你猜的数字: ")
# 尝试将输入转换为整数 (简单的错误处理)
try:
guess_int = int(guess_str)
except ValueError:
print("请输入有效的整数!")
continue # 如果输入无效,跳过本次循环,让用户重新输入
# 3. 比较猜测和目标数字
if guess_int > target_number:
print("太大了!")
elif guess_int < target_number:
print("太小了!")
else: # 猜对了!
# 5. 提示猜对并结束游戏
print("恭喜你猜对了!目标数字就是", target_number)
break # 跳出 while 循环,结束游戏
print("游戏结束!")
上面代码用了一个简单的 try...except ValueError
来处理用户输入无效整数的情况,这是异常处理的基础,可以防止程序因用户错误输入而崩溃。
尝试运行这个游戏,体验一下! 你可以思考如何对其进行改进,比如:
- 限制猜测次数。
- 记录用户猜了多少次。
- 增加难度,扩大数字范围。
3. 总结
经过了前面九节知识点的学习,您已经对Python这门语言有了初步的掌握,此文档是专门为学习AI准备的Python教程,所以知识点并不全面,如果想要扩展其他方向的学习,可以参考一下路径。
Python 进阶:
- 数据结构: 深入学习列表、字典的更多方法,了解元组 (Tuple)、集合 (Set)。
- 文件操作: 学习如何读取和写入文件 (
.txt
,.csv
等)。 - 面向对象编程 (OOP): 理解类 (Class) 和对象 (Object) 的概念,这是构建大型程序的基石。
- 异常处理: 学习更健壮的
try...except...finally
结构来处理程序运行时可能出现的错误。
特定应用领域:
- Web 开发: 学习 Flask 或 Django 框架来构建网站和 Web 应用。
- 数据科学与分析: 学习 NumPy, Pandas, Matplotlib, Scikit-learn 等库进行数据处理、分析和可视化。
- 自动化脚本: 利用 Python 编写脚本自动完成日常任务(文件管理、数据处理、系统操作等)。
- 网络爬虫: 学习
requests
和BeautifulSoup
或Scrapy
来从网页抓取信息。 - 图形用户界面 (GUI): 学习 Tkinter, PyQt, Kivy 等库来创建带有窗口和按钮的桌面应用程序。
感谢您对晓舟的支持,本章内容到此结束,接下来我们进入大语言模型的学习。