第二章作业
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()