例题 1 华氏温度转摄氏温度

输入华氏温度 F,按公式 C = (F - 32) / 1.8 转换为摄氏温度,演示 % 格式化和 f-string 两种输出方式。

Python
f = float(input('请输入华氏温度: '))
c = (f - 32) / 1.8
print('%.1f华氏度 = %.1f摄氏度' % (f, c))   # % 格式化
print(f'{f:.1f}华氏度 = {c:.1f}摄氏度')     # f-string
例题 2 计算圆的周长和面积

输入圆的半径,使用 import math 导入模块,用 math.pi 获得精确的圆周率来计算周长和面积。

Python
import math

radius = float(input('请输入圆的半径: '))
perimeter = 2 * math.pi * radius
area = math.pi * radius ** 2
print(f'周长: {perimeter:.2f}')
print(f'面积: {area:.2f}')
例题 3 变量交换(偷天换日)

演示两种变量交换方法:传统方法(借助临时变量)和 Python 特有的并行赋值一行交换。

Python
a = "Python"
b = 4
print("交换前: a =", a, "b =", b)

# 方法1:借助临时变量
t = a
a = b
b = t
print("方法1后: a =", a, "b =", b)

# 方法2:Python 一行交换(推荐)
a, b = b, a
print("方法2后: a =", a, "b =", b)
例题 4 两位数翻转(数位分解)

使用整除(//)取十位、取余(%)取个位,将两位数翻转。例如输入 12,输出 21。

Python
num = int(input("请输入一个两位的整数:"))
s = num // 10   # 十位
g = num % 10    # 个位
r_num = g * 10 + s
print("翻转后的数为:", r_num)
例题 5 三位数各位数字求和

连续用 % 10 取末位、//= 10 去掉末位,逐步提取每一位数字并求和。

Python
num = int(input("请输入一个0到999的整数:"))
a = num % 10;   num //= 10   # 个位
b = num % 10;   num //= 10   # 十位
c = num % 10                 # 百位
print(f"各位数字之和是:{a + b + c}")
例题 6 时间转换

输入时分秒和经过秒数,先将所有时间转换为总秒数,再用整除和取余分解为新的时分秒格式。

Python
h = int(input("时"))
m = int(input("分"))
s = int(input("秒"))
n = int(input("经过的时间(秒)"))

t = h * 3600 + m * 60 + s + n   # 转为总秒数

new_h = t // 3600
new_m = (t % 3600) // 60
new_s = t % 60

print(f"{new_h}时 {new_m}分 {new_s}秒")
例题 7 求一元二次方程的根

使用求根公式,Python 中开平方根用 ** 0.5(即 0.5 次方)实现。输入 1 -5 6,输出 3.0 和 2.0。

Python
a = int(input("请输入a: "))
b = int(input("请输入b: "))
c = int(input("请输入c: "))
d = (b * b - 4 * a * c) ** 0.5   # 判别式开方
x1 = (-b + d) / (2 * a)
x2 = (-b - d) / (2 * a)
print("方程的两个根为:", x1, x2)
例题 8 最小数量的硬币(Decimal精度)

将金额兑换成最少数量的硬币。使用 decimal.Decimal 避免浮点精度问题,从大面额到小面额依次整除。

Python
from decimal import Decimal

s = int(Decimal(input("请输入金额(元):")) * 100)  # 转为分,避免浮点误差
yy = s // 100;  s = s % 100   # 一元
wj = s // 50;   s = s % 50    # 五角
yj = s // 10;   s = s % 10    # 一角
wf = s // 5;    s = s % 5     # 五分
print(f"{yy}个一元")
print(f"{wj}个五角")
print(f"{yj}个一角")
print(f"{wf}个五分")
print(f"{s}个一分")