20241417 2024-2025-2 《Python程序设计》实验一报告
课程:《Python程序设计》
班级: 2414
姓名: 罗若元
学号:20241417
实验教师:王志强
实验日期:2025年3月12日
必修/选修: 公选课
1.实验内容
1.熟悉Python开发环境;
2.练习Python运行、调试技能;(编写书中的程序,并进行调试分析,要有过程)
3.编写程序,练习变量和类型、字符串、对象、缩进和注释等;(编写一个猜数字或者剪刀石头布的游戏)
4. 掌握git技能
2. 实验过程及结果
1.实验代码
import random
import os
import sys
import subprocessdef get_input(prompt):result = subprocess.run(["powershell", "-Command", f"Read-Host '{prompt}'"], capture_output=True, text=True)return result.stdout.strip()def guess_number(level):if level == 1:target = random.randint(1, 10)print("已选择等级 1:目标数字在 1 到 10 之间。")elif level == 2:target = random.randint(1, 20)print("已选择等级 2:目标数字在 1 到 20 之间。")elif level == 3:target = random.randint(1, 30)print("已选择等级 3:目标数字在 1 到 30 之间。")else:print("无效的等级选择!")returnwhile True:try:guess = int(get_input("请输入你猜的数字: "))if guess == target:print("恭喜你,猜对了!🎉")breakelif guess > target:print("猜大了,再试试!")else:print("猜小了,再试试!")except ValueError:print("请输入一个有效的数字!")def pack_to_exe():print("\n检测到您可能希望将游戏打包成可执行文件。")print("正在安装 PyInstaller...")try:os.system("pip install pyinstaller")print("PyInstaller 安装成功!")except Exception as e:print(f"安装 PyInstaller 失败:{e}")returnprint("\n正在打包游戏...")try:os.system(f"pyinstaller --onefile --noconsole --debug=all {sys.argv[0]}")print("打包成功!")print(f"可执行文件位于当前目录的 'dist' 文件夹中。")except Exception as e:print(f"打包失败:{e}")def main():print("""⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐Welcome to the Guess Number Game!⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐""")while True:try:level = int(get_input("请选择游戏等级 (1-3): "))if level not in [1, 2, 3]:print("等级选择无效,请输入 1、2 或 3!")continueguess_number(level)except ValueError:print("请输入一个有效的数字!")play_again = get_input("是否再来一局?(输入 'yes' 继续,其他退出): ")if play_again.lower() != "yes":print("感谢游玩,再见!👋")pack_choice = get_input("是否将游戏打包成可执行文件?(输入 'yes' 打包,其他退出): ")if pack_choice.lower() == "yes":pack_to_exe()breakif __name__ == "__main__":main()
2.设置断点并调试
3.程序打包到码云
4.运行结果
3. 实验过程中遇到的问题和解决过程
- 问题1:代码打包成exe后无法运行
- 问题1解决方案:询问ai后发现电脑无法运行input(),修改成其他代码后成功
其他(感悟、思考等)
学会了打包py代码,方便他人使用
参考资料
-
《Java程序设计与数据结构教程(第二版)》
-
《Java程序设计与数据结构教程(第二版)》学习指导
-
...