引言
在Python入门到精通(一)中,我们了解了Python安装,基本数据类型及条件判断和循环的控制流。
现在编写两个小游戏对基本数据类型、条件判断、循环控制语句进行简单应用,巩固基础,加深理解。
文章目录
一、基础计算器
功能:实现两个数字的基本运算(加减乘除)
思路:输入一个数字,输入一个运算符,再输入一个数字,打印结果
异常控制:输入的非数字,则循环输入
解析:
1)异常控制需要循环输入,使用while、continue、break
2)判断是否数字,可考虑type、isinstance、类型转换float()
3)运算符是否在范围内,使用not in
代码如下:
python
# 定义一个函数
def simple_calculator():
print("=== 基础计算器 ===")
# 输入第一个数字
while True:
try:
num1 = input("请输入一个数字: ")
num1 = float(num1) # 尝试将输入转换为浮点数
break # 成功转换,退出循环
except ValueError:
pass #占位,不做任何处理
# 输入运算符
operation = input("选择操作 (+, -, *, /): ")
# 检查:输入的运算符是否正确,不正确则循环输入
while operation not in ['+', '-', '*', '/']:
operation = input("请正确选择操作 (+, -, *, /): ")
# 输入第二个数字
while True:
try:
num2 = input("请输入一个数字: ")
num2 = float(num2) # 尝试将输入转换为浮点数
break # 成功转换,退出循环
except ValueError:
pass
# 根据运算符计算结果
if operation == '+':
result = num1 + num2
elif operation == '-':
result = num1 - num2
elif operation == '*':
result = num1 * num2
elif operation == '/':
result = num1 / num2 if num2 != 0 else "错误: 除数不能为0"
else:
result = "无效操作"
# 打印结果
print(f"结果: {result}")
# 运行计算器
simple_calculator()
运行结果如下图:

二、猜数字
功能:实现猜测一个数的基本逻辑
思路:随机生成一个目标数,用户输入一个数,输入数跟目标数对比,给出太大或太小结论,直至猜测正确
异常控制:输入非数时提示并重新输,输入的超范围提示且不计算
解析:
1)未猜中需要循环输入,使用while、continue、break
2)判断是否数字,可考虑type、isinstance、类型转换int()
3)数字是否在范围内使用or and
4)数字猜测情况使用if/elseif/else来判断分支
python
# 引入random库
import random
# 定义一个函数
def guess_number_game():
print("=== 猜数字游戏 ===")
# 随机获取一个1-100间数字
target = random.randint(1, 100)
# 尝试次数归0
attempts = 0
while True:
try:
guess = int(input("猜一个1-100之间的数字: "))
# 检查:输入的数字是否符合范围,不符合则重新输入
if guess < 1 or guess > 100:
print("请输入1-100之间的数字!")
continue # 跳出当前循环
# 猜题次数+1
attempts += 1
if guess < target:
print("太小了!")
elif guess > target:
print("太大了!")
else:
print(f"🎉 恭喜!你用了{attempts}次猜中了数字{target}")
break #跳出整体循环
except ValueError:
print("请输入有效数字!")
# 运行游戏
guess_number_game()
结果如下:
