目录
实验1 温度转换与输入输出强化
实验代码:
def get_int_input(prompt):
while True:
try:
return float(input(prompt))
except ValueError:
print("输入无效,请输入一个数字。")
temper_class= input("请输入温标(c/f/k):")
if temper_class == "c":
c = get_int_input("请输入摄氏温度:")
f = c * 9 / 5 + 32
k = c + 273.15
print("华氏温度:%.2f" % f)
print("开尔文温度:%.2f" % k)
if temper_class == "f":
f = get_int_input("请输入华氏温度:")
c = (f - 32) * 5/9
k = c + 273.15
print("摄氏温度:%.2f" % c)
print("开尔文温度:%.2f" % k)
if temper_class == "k":
k = get_int_input("请输入开尔文温度:")
c = k - 273.15
f = c * 9 / 5 + 32
print("摄氏温度:%.2f" % c)
print("华氏温度:%.2f" % f)
1. 实现摄氏温度与华氏温度互转(保留两位小数)
摄氏转华氏:
华氏转摄氏:
2. 扩展功能:输入错误处理(如非数字输入提示重新输入)
3. 扩展:支持开尔文温度的三向转换
开尔文转摄氏和华氏:
实验2:turtle 库绘制进阶图形
实验代码:
import turtle
import time
# 任务 1:绘制嵌套彩色五角星(大小逐层递减)
def draw_nested_stars(n, size):
colors = ["red", "orange", "yellow", "green", "blue", "indigo", "violet"]
for i in range(n):
# 设置颜色
turtle.color(colors[i % len(colors)])
# 绘制五角星
for _ in range(5):
turtle.forward(size)
turtle.right(144)
# 减小大小,准备绘制下一层
size *= 0.8
# 任务 2:设计函数绘制自定义正多边形(边数与颜色参数化)
def draw_polygon(sides, size, color):
angle = 360 / sides
turtle.color(color)
for _ in range(sides):
turtle.forward(size)
turtle.left(angle)
# 任务 3:扩展:实现动态旋转花瓣图案
def draw_rotating_petals(petals, size, speed):
colors = ["red", "orange", "yellow", "green", "blue", "indigo", "violet"]
angle = 360 / petals
for _ in range(360 // speed):
for i in range(petals):
turtle.color(colors[i % len(colors)])
turtle.forward(size)
turtle.backward(size)
turtle.left(angle)
turtle.right(speed)
# 主程序
if __name__ == "__main__":
# 设置画布
turtle.speed(0)
turtle.bgcolor("black")
# 绘制嵌套彩色五角星
turtle.penup()
turtle.goto(-150, 0)
turtle.pendown()
draw_nested_stars(5, 200)
# 绘制自定义正多边形
turtle.penup()
turtle.goto(150, 0)
turtle.pendown()
draw_polygon(8, 50, "cyan")
# 绘制动态旋转花瓣图案
turtle.penup()
turtle.goto(0, -200)
turtle.pendown()
draw_rotating_petals(12, 100, 10)
# 结束绘图
turtle.hideturtle()
turtle.done()
运行结果: