Python基础语法元素(课后程序练习题)

2.2 汇率兑换程序。按照温度转换程序的设计思路,按照1美元=6人民币汇率编写一个美元与人民币的双向兑换程序。

 代码如下:

money = input("请输入带有符号的金额:")
if money[-1] in ['D','d']:
    Y = eval(money[0:-1])*6
    print("兑换后的金额是{:.2f}人民币".format(Y))
elif money[-1] in ['Y','y']:
    D = eval(money[0:-1])/6
    print("兑换后的金额是{:.2f}美元".format(D))
else:
    print("输入格式错误!")

打印结果如下: 


2.3 重量转换程序。按照温度转换程序的设计思路,按照1千克=2.2046磅编写一个公制千克与英制磅的双向转换程序。

代码如下: 

weight = input("请输入一个带有符号的重量:")
if weight[-1] in ['K','k']:
    B = eval(weight[0:-1])*2.2046
    print("转换后的重量是{:.4f}英镑".format(B))
elif weight[-1] in ['B','b']:
    K = eval(weight[0:-1])/2.2046
    print("转换后的重量是{:.4f}千克".format(K))
else:
    print("输入格式错误!")

打印结果如下: 


2.4 实例2的修改。改造代码2.1,绘制一条彩色蟒蛇,即在绘制Python蟒蛇的每个小段时,画笔的绘制颜色会发生变化。
提示:将画笔颜色控制函数放到蟒蛇绘制函数附近。

代码如下:

import turtle
turtle.setup(650,350,200,200) #用来设置主窗体的大小和位置
turtle.penup() #画笔抬起,移到画笔不绘制任何形状,没有参数
turtle.forward(-250) #用来控制画笔向当前行进方向前进一段距离,若参数值为负数,表示向相反方向前进
turtle.pendown() #画笔落下,移动画笔将绘制图形,turtle绘图开始时,默认画笔是落下的
turtle.pensize(25) #有参数时,用来设置画笔宽度;无参数时,返回当前画笔宽度
#turtle.pencolor("green") #有参数时,设置画笔颜色,参数也可是颜色对应的RGB数值:turtle.pencolor((r,g,b)) ;无参数时,返回画笔颜色

#颜色列表,用于每个小段的不同颜色
colors = ["red","orange","yellow","green","blue","purple","pink","cyan","magenta"]

#设置初始方向
turtle.seth(-40) #设置绝对角度值改变画笔绘制方向,也可以从海龟角度:turtle.left(angle)、turtle.right(angle)
for i in range(4) : #循环,注意后面有个冒号,其中range(N)表示产生0到N-1个整数序列,共N个;若是range(M,N)表示产生M到N-1的整数序列,共N-M个
    turtle.pencolor(colors[i%len(colors)]) #循环使用颜色列表中的颜色
    turtle.circle(40,80) #根据半径radius绘制一个extent角度的弧形,其中,radius默认在海龟左侧radius距离的位置,extent默认是360度整圆,即extent为None
    turtle.circle(-40,80)#绘制反方向的圆弧
#继续绘制蟒蛇剩余部分
turtle.pencolor(colors[4%len(colors)])#使用第5个颜色
turtle.circle(40,80/2)
turtle.forward(40)
turtle.circle(16,180)
turtle.forward(40*2/3)
turtle.done() #表示程序完成后,需手工关闭窗体退出

打印结果如下: 

 

2.5 等边三角形的绘制。使用turtle库中的turtle.fd()函数和turtle.seth()函数绘制
一个等边三角形

代码如下: 

import turtle
turtle.setup(650,500,200,150)
turtle.penup()#要抬起画笔才能看到画笔,不绘制图形
turtle.forward(-100)#向相反方向行进100px
turtle.pendown()#放下画笔,不绘制图形,但绘制图形之前要先放下画笔
turtle.pensize(5)#设置画笔宽度
turtle.pencolor("blue")#设置画笔颜色
turtle.forward(200)#向前行进绘制200px的距离
turtle.seth(120)#改变画笔行进方向
turtle.forward(200)#向前行进绘制200px的距离
turtle.seth(240)
turtle.forward(200)#向前行进绘制200px的距离
turtle.done()

 打印结果如下:


2.6 叠加等边三角形的绘制。使用turtle库中的turtle.fd()函数和turtle.seth()函数绘制一个叠加等边三角形

代码如下:

import turtle
turtle.setup(650,600,200,50)
turtle.penup()
turtle.forward(-100)
turtle.pensize(5)
turtle.pencolor("blue")
turtle.pendown()

turtle.forward(100)

turtle.seth(-120)
turtle.forward(100)

turtle.seth(120)
turtle.forward(100)

turtle.seth(60)
turtle.forward(100)

turtle.seth(-60)
turtle.forward(200)

turtle.seth(-180)
turtle.forward(200)

turtle.seth(60)
turtle.forward(100)

turtle.seth(0)

turtle.done()

 打印结果如下:

 


2.7六角形的绘制。利用turtle库绘制一个六角形

代码如下:

import turtle

turtle.setup(650,600)
turtle.pensize(5)
turtle.pencolor("yellow")

#绘制第一个三角形
turtle.seth(90)
turtle.forward(60)

turtle.seth(-30)
turtle.forward(180)

turtle.seth(-150)
turtle.forward(180)

turtle.seth(90)
turtle.forward(120)

#绘制第二个三角形
turtle.seth(30)
turtle.forward(120)

turtle.seth(-90)
turtle.forward(180)

turtle.seth(150)
turtle.forward(180)

turtle.seth(30)
turtle.forward(60)

turtle.done()

打印结果如下: 

 


2.8 正方形螺旋线的绘制。利用turtle库绘制一个正方形螺旋线

代码如下:

import turtle

turtle.pensize(3)
turtle.color("black")
turtle.speed(0)#调节画笔速度为最快

for i in range(60):
    turtle.seth(90*i+90)
    turtle.forward(10+5*i)

turtle.done()

 打印结果如下:

 

以上全凭个人想法写的,还未进行对正,若有错误之处,欢迎大家评论区留言,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值