第二章作业

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人民币和美元转换

点击查看代码
#Moneycovert.py
MoneyStr = input("请输入美元或者人民币:")
if MoneyStr[-1] in ['$']:
    R = eval(MoneyStr[0:-1]) *6
    print("换算后的钱是{:.2f}R".format(R))
elif MoneyStr[-1] in ['R','r']:
    B = eval(MoneyStr[0:-1])/6
    print("换算后的钱是{:.2f}$".format(B))
else:
   print("输入格式错误")    
    

2.3重量转换

点击查看代码
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 

def Snakel(rader, angle, leng):
    for i in range(leng):
        turtle.circle (rader,angle)
        turtle.circle(-rader, angle)
        
def Snake2 (rader,angle, neck):
    turtle.circle(rader, angle/2)
    turtle.fd(rader)
    turtle.circle(neck + 1, 180)
    turtle.fd(rader *2/3)
    
def main():
    turtle.setup(1200, 200,0,0)
    '''turtle.seth(180)
    turtle.up()
    fd(400)
    turtle.seth(0)
    turtle.pd()'''
    size=30
    turtle.pensize(size)
    turtle.seth(-40)
    turtle.pencolor("yellow")
    Snakel(40,80, 1)
    turtle.pencolor("black")
    Snakel(40,80,1)
    turtle.pencolor("pink")
    Snakel(40, 80, 1)
    turtle.pencolor("blue")
    Snakel(40, 80, 1)
    turtle.pencolor("red")
    Snake2(40, 80, size/2)
    
main()

2.5等边三角形

点击查看代码
import turtle

# 创建一个turtle对象
t = turtle.Turtle()

# 循环3次绘制等边三角形的三条边
for _ in range(3):
    t.fd(100)  # 使用turtle.fd()函数向前移动指定距离(这里是100,可以根据需要调整边长)
    t.seth(t.heading() + 120)  # 使用turtle.seth()函数设置海龟的朝向,每次旋转120度以绘制等边三角形

turtle.done()

2.6叠加等边三角形

点击查看代码
import turtle

# 创建turtle对象
t = turtle.Turtle()

# 定义三角形边长
side_length = 100

# 绘制外层大等边三角形
for _ in range(3):
    t.fd(side_length * 2)
    t.seth((t.heading() + 120) % 360)

# 绘制内层三个小等边三角形
for _ in range(3):
    t.fd(side_length)
    t.seth((t.heading() + 60) % 360)
    for _ in range(3):
        t.fd(side_length)
        t.seth((t.heading() + 120) % 360)
    t.seth((t.heading() - 60) % 360)
    t.fd(side_length)
    t.seth((t.heading() + 120) % 360)

turtle.done()

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()
posted @ 2025-03-16 18:28  昔桯  阅读(17)  评论(0)    收藏  举报