第二章作业
2.1整数温度转换器
TempStr = input("请输入带有符号的温度值:") if isinstance(TempStr, str) and TempStr[-1] in ['F', 'f']: C = int((float(TempStr[0:-1]) - 32) / 1.8) print(f"转换后的温度是{C}C") elif isinstance(TempStr, str) and TempStr[-1] in ['C', 'c']: F = int(1.8 * float(TempStr[0:-1]) + 32) print(f"转换后的温度是{F}F") else: print("输入格式错误")
2.2汇率兑换程序(1美元=6人民币汇率)
CurrencyStr = input("请输入带有货币符号的金额(格式如 100USD 或 600CNY):") if CurrencyStr[-3:].upper() == 'USD': CNY = eval(CurrencyStr[0:-3]) * 6 print(f"{CurrencyStr} 可兑换为 {CNY}CNY") elif CurrencyStr[-3:].upper() == 'CNY': USD = eval(CurrencyStr[0:-3]) / 6 print(f"{CurrencyStr} 可兑换为 {USD}USD") else: print("输入格式错误")
2.3重量转换程序(1千克=2.2046磅)
WeightStr = input("请输入带有单位的重量(格式如 10kg 或 22lb):") if WeightStr[-2:].lower() == 'kg': lb = eval(WeightStr[0:-2]) * 2.2046 print(f"{WeightStr} 可转换为 {lb}lb") elif WeightStr[-2:].lower() == 'lb': kg = eval(WeightStr[0:-2]) / 2.2046 print(f"{WeightStr} 可转换为 {kg}kg") else: print("输入格式错误")
2.4彩色蟒蛇
``import turtle
import random
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.seth(-40)
colors = ["red","blue", "green", "yellow", "purple"] # 定义颜色列表
for i in range(4):
turtle.pencolor(random.choice(colors)) # 随机选择画笔颜色
turtle.circle(40, 80)
turtle.pencolor(random.choice(colors))
turtle.circle(-40, 80)
turtle.pencolor(random.choice(colors))
turtle.circle(40, 80 / 2)
turtle.fd(40)
turtle.pencolor(random.choice(colors))
turtle.circle(16, 180)
turtle.fd(40 * 2 / 3)
turtle.done()
2.5等边三角形的绘制import turtle
向前移动指定距离绘制第一条边
turtle.fd(100)
向左旋转120°
turtle.left(120)
向前移动指定距离绘制第二条边
turtle.fd(100)
向左旋转120°
turtle.left(120)
向前移动指定距离绘制第三条边
turtle.fd(100)
turtle.done()
2.6叠加等边三角形的绘制import turtle
turtle.fd(200)
turtle.left(120)
turtle.fd(200)
turtle.left(120)
turtle.fd(200)
turtle.penup()
turtle.goto(50,85)
turtle.pendown()
turtle.done()
turtle.left(120)
turtle.fd(100)
turtle.left(240)
turtle.fd(100)
turtle.left(240)
turtle.fd(100)
2.7六角形的绘制import turtle
创建turtle对象
t = turtle.Turtle()
t.right(30)
绘制第一个三角形
for _ in range(3):
t.forward(150)
t.right(120)
移动画笔位置
t.penup()
t.goto(90, 0) # 移动到合适的起始点,这里的坐标是根据图形和边长估算得出
t.pendown()
t.right(60)
绘制第二个三角形
for _ in range(3):
t.forward(150)
t.right(120)
保持图形窗口显示
turtle.done()
2.8正边形螺旋线的绘制import turtle
设置画笔初始方向为向上(90度)
turtle.left(90)
初始线段长度
length = 5
设置画笔移动速度
turtle.speed(20)
for i in range(30):
# 向前绘制当前长度的线段
turtle.forward(length)
# 向左转90度
turtle.left(90)
# 再次向前绘制当前长度的线段
turtle.forward(length)
# 向左转90度
turtle.left(90)
# 每次循环让线段长度增加5,以形成螺旋效果
length += 5
保持图形窗口显示
turtle.done()
``

浙公网安备 33010602011771号