《Python语言程序设计基础》嵩天著-第2章程序部分练习题答案

《Python语言程序设计基础》嵩天著-第2章程序部分练习题答案


Python课上的作业。
贴到这里,供大家参考哦~
欢迎交流指正,共同进步,欸嘿!
没有把全部练习题写完,仅写了要求的作业。
至于运行结果,大家可以自己去试试
既然把第四章的作业贴上来了,
那就随便加上前几章 的作业,哈哈哈

2.11思考与联系 画同心圆靶盘

import turtle as t
try:
    t.home()
except:
    t.home()
t.pencolor("red")
t.pensize(2) # 以上为画笔参数的设置
for i in range(1,9): # 循环函数
    t.up() 
    t.goto(0,-10*i) # 去坐标(0,-10*i)
    t.down() 
    t.circle(10*i) #画半r = 20+10*i的圆
t.done()

程序练习题 2.1 方法一

print("请输入温度值:")
Tempstr = eval("input("")") #可以直接提取input,没有输入要求限制
if Tempstr[-1] in ['f','F']:
    C = (eval(Tempstr[0:-1])-32)/1.8
    print("结果是{:.0f}C".format(C))
elif Tempstr[-1] in ['c','C']:
    F = 1.8*eval(Tempstr[0:-1])+32
    print("结果是{:.0f}F".format(F))
else:
    print("输入格式错误")

程序练习题 2.1 方法二

#方法二:
TempStr=input("请输入符号:") # 分离单位和数值
x=eval(input("请输入温度值:")) #用eval函获得数值的变量
if TempStr in ['F','f']:
    C=(x-32)/1.8
    print("转换后的温度是{:.0f}C".format(C))
elif TempStr in ['C','c']:
    F=1.8*x+32
    print("转换后的温度是{:.0f}F".format(F))
else:
    print("输入格式错误!")

程序练习题 2.2 汇率兑换程序

Money = input('''目前仅支持人名币(Y)与美元(D)兑算,
请输入您需要用于兑换的货币数值及类型:''')
if Money[-1] in ["y","Y"]:
    D = (eval(Money[0:-1]))/6
    print(Money[0:-1]+"人民币可兑换{:.2f}美元".format(D))
elif Money[-1] in ["D","d"]:
    Y = (eval(Money[0:-1]))*6
    print(Money[0:-1]+"美元可兑换{:.2f}人民币".format(Y))
else:
    print("输入格式错误")

程序练习题 2.3 七彩蟒蛇

import turtle as t
def drawsnake(rad,angle,length,):  
    t.seth(-40)
    C = ["grey","red","green","yellow","blue"]
    for i in range(length):
        t.pencolor(C[i])
        t.circle(rad,angle)
        t.circle(-rad,angle)
    t.circle(rad,angle/2)
    t.pencolor("violet")
    t.fd(40)
    t.circle(16,180)
    t.pencolor("black")
    t.fd(40*2/3)
t.setup(650,350,0,0)
t.shape("turtle")
t.up()
t.fd(-250)
t.down()
t.pensize(25)
drawsnake(40,80,5)
t.done()

程序练习题 2.4 绘制三角形

import turtle as t
try:
    t.home
except:
    t.home
t.setup(750,500,100,100)
t.goto(-50,0)
t.pensize(10)
t.pencolor("blue")
for i in range(1,4):#利用左右角度进行循坏
    t.fd(100)
    t.seth(120*i)
t.done()

程序练习题 2.5 叠边等边三角形 方法一

分开画三个三角形

import turtle as t 
try:
    t.home
except:
    t.home
t.setup(750,500,100,100)
t.goto(0,0)
t.pensize(10)
t.pencolor("red")
for i in range(1,3): # 画同一串的三角形
    t.fd(100)
    t.seth(120)
    t.fd(100)
    t.seth(-120)
    t.fd(100)
    t.seth(0)
    t.up()
    t.goto(-50*i,-i*50*(3**0.5))
    t.down() 
t.up() # 画非同一串的三角形
t.goto(50,-50*3**0.5)
t.down()
t.fd(100)
t.seth(120)
t.fd(100)
t.seth(-120)
t.fd(100)
t.done()

程序练习题 2.5 叠边等边三角形 方法二

画一个大一个小

import turtle as t
try:
    t.home
except:
    t.home
t.setup(750,500,100,100)
t.pensize(5)
t.pencolor("blue")
t.fd(200)
t.seth(120)
t.fd(200)
t.seth(-120)
t.fd(200)
t.up()
t.goto(150,50*3**0.5)
t.down()
t.fd(100)
t.seth(120)
t.fd(100)
t.seth(0)
t.fd(100)
t.done()

程序练习题 2.6 无角正方形

import turtle as t
t.pensize(10)
t.pencolor("blue")
t.up()
t.goto(-100,-100)
t.down()
for i in range(1,5):
    t.fd(80)
    t.left(45)
    t.up()
    t.fd(40*2**0.5)
    t.down()
    t.seth(90*i)
    t.fd(80)
t.done()

程序练习题 2.7 六角形

我觉得这六角形不太正,而且这方法好笨,
如果有其他好方法可以评论区提点我

import turtle as t
t.pensize(2)
t.pencolor("blue")
t.up()
t.goto(-120,-60*3**0.5)
t.down()
for i in range(1,4): #利用绝对角度进行循坏
    t.fd(240)
    t.seth(120*i)
t.up()
t.goto(-120,30*3**0.5)
t.down()
t.seth(0)
for i in range(1,4): #利用绝对角度进行循坏
    t.fd(240)
    t.seth(-120*i)
t.done()

程序练习题 2.8 正方形螺旋线

import turtle as t
t.color("blue")
for i in range(100): # 第N+1次长度是第N次的2倍
    t.fd(2*i)
    t.left(90)
t.done()

码字不易,就这样叭

  • 22
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值