参考答案
题目 1.1: BMI 计算器
def calculate_bmi():
"""
从标准输入读取体重(kg)和身高(m),计算并打印 BMI 值,保留两位小数。
"""
# 1. 读取输入
try:
weight_str, height_str = input("请输入体重(kg)和身高(m),用空格隔开: ").split()
weight = float(weight_str)
height = float(height_str)
except ValueError:
print("输入格式错误,请输入有效的数字。")
return
except Exception as e:
print(f"发生错误: {e}")
return
# 2. 校验输入
if height <= 0:
print("身高必须大于0。")
return
if weight <= 0:
print("体重必须大于0。")
return
# 3. 计算 BMI
bmi = weight / (height ** 2)
# 4. 输出结果,保留两位小数
print(f"您的BMI值为: {bmi:.2f}")
if __name__ == "__main__":
calculate_bmi()
题目 1.2: 生成0-1000的随机整数
import random
# 生成一个0到1000之间的随机整数(包含0和1000)
random_number = random.randint(0, 1000)
print(f"生成的随机数是: {random_number}")
题目 1.3: 计算直角三角形斜边
def calculate_hypotenuse():
try:
a_str, b_str = input("请输入两个直角边的长度,用空格隔开: ").split()
a = float(a_str)
b = float(b_str)
except ValueError:
print("输入格式错误,请输入有效的数字。")
return
except Exception as e:
print(f"发生错误: {e}")
return
if a <= 0 or b <= 0:
print("边长必须大于0。")
return
c = (a**2 + b**2)**0.5
print(f"直角边a: {a:.1f}, 直角边b: {b:.1f}, 斜边c: {c:.1f}")
if __name__ == "__main__":
calculate_hypotenuse()
题目 1.4: 三数平方根之和
import math
def sum_of_square_roots():
try:
a_str, b_str, c_str = input("请输入三个浮点数,用空格隔开: ").split()
a = float(a_str)
b = float(b_str)
c = float(c_str)
except ValueError:
print("输入格式错误,请输入有效的数字。")
return
except Exception as e:
print(f"发生错误: {e}")
return
if a < 0 or b < 0 or c < 0:
print("输入数字不能为负,无法计算负数的平方根。")
return
s = math.sqrt(a) + math.sqrt(b) + math.sqrt(c)
print(f"三个数的平方根之和为: {s:.2f}")
if __name__ == "__main__":
sum_of_square_roots()
题目 1.5: 圆的面积与周长
import math
def circle_properties():
try:
r_str = input("请输入圆的半径: ")
r = float(r_str)
except ValueError:
print("输入格式错误,请输入有效的数字。")
return
except Exception as e:
print(f"发生错误: {e}")
return
if r <= 0:
print("半径必须大于0。")
return
area = math.pi * r * r
circumference = 2 * math.pi * r
print(f"圆的面积: {area:.2f}")
print(f"圆的周长: {circumference:.2f}")
if __name__ == "__main__":
circle_properties()
题目 1.6: 打印祝福语
# 打印指定的祝福语
print("What a beautiful campus!")
print("I wish you every success!")