当前位置:首页 » 《随便一记》 » 正文

《python语言程序设计基础》(第二版)第二章课后习题参考答案

1 人参与  2024年03月28日 12:10  分类 : 《随便一记》  评论

点击全文阅读


第二章 Python程序实例解析

文章目录

2.1 温度转换2.2 汇率兑换2.3 绘制彩色蟒蛇2.4 等边三角形的绘制2.5 叠加等边三角形的绘制2.6 无角正方形的绘制2.7 六边形的绘制2.8 正方形螺旋线绘制2.9 自定义蟒蛇绘制

2.1 温度转换
tem = int(input("请选择温度的单位(华氏度为1,摄氏度为2):"))TempStr = eval(input("请输入温度值:"))if tem == 1:    C = (TempStr - 32) / 1.8  # 计算摄氏度    print("转换后的温度是{:.0f}C".format(C))elif tem == 2:    F = 1.8 * TempStr + 32  # 计算华氏度    print("转换后的温度是{:.0f}F".format(F))else:    print("输入错误!")
2.2 汇率兑换
try:    money = input("请输入金额(如:1¥/1$):")    if money[-1] in ['$']:        rmb = eval(money[0:-1]) * 6        print("{}->>{}¥".format(money, rmb))    elif money[-1] in ['¥']:        dollar = eval(money[0:-1]) / 6        print("{}->>{}$".format(money, dollar))except:    print("输入错误!")

优化:

try:    money = input("请输入金额(如:1¥/1$):")    currency = money[-1]    amount = eval(money[0:-1])    if currency == '$':        rmb = amount * 6        print("{}->>{}¥".format(money, rmb))    elif currency == '¥':        dollar = amount / 6        print("{}->>{}$".format(money, dollar))    else:        print("输入格式错误!")except:    print("输入错误!")

优化的主要改动:

将货币符号和金额分离出来,使代码更加清晰易读。将条件判断改为根据货币符号进行判断,避免重复判断。
2.3 绘制彩色蟒蛇
import turtle# 设置画布大小和位置turtle.setup(650, 350, 200, 200)# 抬起画笔,移动到起始位置turtle.penup()turtle.fd(-250)# 落下画笔,设置画笔宽度和颜色,调整方向turtle.pendown()turtle.pensize(25)turtle.seth(-40)# 循环绘制蟒蛇的每一段colors = ['red', 'orange', 'yellow', 'green', 'blue', 'purple']for i in range(4):    turtle.pencolor(colors[i % len(colors)])  # 设置画笔颜色    turtle.circle(40, 80)  # 绘制大圆弧    turtle.circle(-40, 80)  # 绘制小圆弧# 绘制蟒蛇头部turtle.pencolor(colors[4 % len(colors)])  # 设置画笔颜色turtle.circle(40, 80 / 2)  # 绘制半个大圆弧turtle.fd(40)  # 前进一段距离turtle.circle(16, 180)  # 绘制半个小圆弧turtle.fd(40 * 2 / 3)  # 前进一段距离# 关闭窗口turtle.done()
2.4 等边三角形的绘制
代码一:
import turtleturtle.forward(100)    # 向前走100个像素turtle.left(120)       # 左转120度turtle.forward(100)turtle.left(120)turtle.forward(100)turtle.done()          # 结束绘制,显示图形
代码二:
import turtle# 创建turtle对象t = turtle.Turtle()# 设置画笔的粗细和颜色t.pensize(3)t.pencolor("blue")# 绘制等边三角形for i in range(3):    t.forward(100)   # 前进100像素    t.left(120)      # 左转120度# 结束绘画turtle.done()
2.5 叠加等边三角形的绘制
# 导入 turtle 库的所有函数from turtle import *# 向前移动 100 像素fd(100)# 逆时针旋转 120 度,再向前移动 100 像素seth(-120)fd(100)# 逆时针旋转 120 度,再向前移动 100 像素seth(120)fd(100)# 逆时针旋转 60 度,再向前移动 100 像素seth(60)fd(100)# 逆时针旋转 60 度,再向前移动 200 像素seth(-60)fd(200)# 逆时针旋转 180 度,再向前移动 200 像素seth(-180)fd(200)# 逆时针旋转 60 度,再向前移动 100 像素seth(60)fd(100)done()
2.6 无角正方形的绘制
from turtle import *# 设置画布大小为 500*500setup(500, 500)for i in range(4):    # 提笔,向前移动20像素    up()    fd(20)    # 下笔,向前移动160像素    pd()    fd(160)    # 提笔,向前移动20像素    up()    fd(20)    # 向右旋转90度    right(90)done()
2.7 六边形的绘制
from turtle import *# 将画笔抬起,移动到起始位置,再将画笔放下up()setpos(-150, 20)down()# 旋转画笔方向,开始画第一个等边三角形left(30)fd(100)left(60)for i in range(5):    fd(100)    right(120)    fd(100)    left(60)# 画出最后一个等边三角形和最后的线段fd(100)right(120)fd(100)for n in range(6):    fd(100)    right(60)done()
2.8 正方形螺旋线绘制
import turtle# 设置初始值length = 5angle = 90increment = 2# 创建画布turtle.setup(600, 600)# 创建画笔pen = turtle.Pen()pen.speed(0)# 绘制正方形螺旋线for i in range(100):    pen.forward(length)    pen.left(angle)    length += incrementturtle.done()
2.9 自定义蟒蛇绘制
from turtle import *# 设置画布大小和颜色模式setup(800, 800)colormode(255)# 设置画笔大小和速度pensize(20)speed(10)def draw_snake():    # 抬起画笔,设置初始位置为屏幕中心,放下画笔    penup()    setpos(0, 0)    pendown()    # 绘制蟒蛇    for i in range(50):        forward(2 * i)  # 前进距离随着i的增加而增加        left(20)  # 左转20度        # 随着绘制的进度改变颜色        pencolor((255 - i, 50, i))    hideturtle()  # 隐藏画笔draw_snake()  # 调用函数绘制蟒蛇done()  # 保持窗口不关闭,直到手动关闭

点击全文阅读


本文链接:http://zhangshiyu.com/post/87049.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1