第二章程序练习题

1、改造温度实例代码,采用eval(input(<提示内容>))替换现有输入部分,并使输出的温度值为整数。

TempStr=input("请输入温度值的符号:")
value=eval(input("请输入要转换的温度值:"))
if TempStr in ['F','f']:
    C=int((value-32)/1.8)
    print("转换后的温度是{}C".format(C))
elif TempStr in ['C','c']:
    F=int(1.8*value+32)
    print("转换后的温度是{}F".format(F))
else:
    print("输入格式错误")

在这里插入图片描述

另法:

tempstr =  eval(input("转换摄氏度请输入1,转换华氏度请输入2:"))
if tempstr == 1:
    F = eval(input("输入华氏度:"))
    C = (F -32)/1.8
    print('转换后的摄氏度是:%d'%(C))
elif tempstr == 2:
    C = eval(input("输入摄氏度:"))
    F = C * 1.8 + 32
    print("转换的华氏度:%d"%(F))
else:
    tempstr != 1;tempstr != 2
    print("pass")
print("程序结束")

在这里插入图片描述

2、汇率兑换程序

while True:
    money=eval(input("人民兑换美元请扣1,美元兑换人民币请扣2:"))
    if money==1:
        CNY=eval(input("您想要兑换的人民币金额为:"))
        USD=CNY/6
        print("您可兑换的美元为{}".format(USD))
        break
    elif money==2:
        USD=eval(input("您想要兑换的美元金额为:"))
        CNY=USD*6
        print("您可兑换的人民币为{}".format(CNY))
        break
    else:
        print("输入错误,请重新输入")
        continue

易错点:注意使用eval函数
在这里插入图片描述

3、绘制一条彩色蟒蛇

from turtle import *
setup(650,350,200,200)
penup()
fd(-250)
pendown()
pensize(25)
seth(-40)
for i in range(4):
    pencolor("gold")
    circle(40,80)
    pencolor("violet")
    circle(-40,80)
pencolor("grey")
circle(40,80/2)
fd(40)
circle(16,180)
fd(40*2/3)

在这里插入图片描述

4、等边三角形的绘制(边长200)

from turtle import *
while True:
    fd(200)
    left(120)
    if abs(pos())<1:
        break

另法:
先fd再seth:

import turtle
for i in range(1,4):
    turtle.fd(200)
    turtle.seth(120*i)

先seth再fd:

import turtle
for i in range(3):
    turtle.seth(i*120)
    turtle.fd(200)

在这里插入图片描述

5、叠加等边三角形的绘制(大三角形边长200,小三角形边长100)

import turtle
for i in range(3):
    turtle.seth(i*120)
    turtle.fd(200)
turtle.seth(0)
turtle.fd(100)
for i in range(3):
    turtle.seth(60+120*i)
    turtle.fd(100)

在这里插入图片描述

6、无角正方形的绘制(有线边长100)

from turtle import*
for i in range(4):
    seth(90*i)
    penup()
    fd(50)
    pendown()
    fd(100)
    penup()
    fd(50)

在这里插入图片描述

7、六角形的绘制(边长240)

from turtle import *
seth(30)
fd(240)
for i in range(2):
    right(120)
    fd(240)
seth(30)
fd(80)
seth(90)
fd(80)
for i in range(3):
    right(120)
    fd(240)

在这里插入图片描述

8、正方形螺旋线的绘制(初始正方形边长为100)

from turtle import *
def draw(a):
    seth(90)
    fd(a)
    seth(0)
    fd(a)
    seth(270)
    fd(a-5)
    seth(180)
    fd(a-5)
    seth(90)
for i in range(100,0,-10):
    draw(i)

在这里插入图片描述

9、自定义python蟒蛇绘制

from turtle import *
setup(650,350,200,200)
penup()
fd(-250)
pendown()
pensize(25)
seth(-40)
pencolor("black")
for i in range(4):
    circle(40,80)
    pencolor("purple")
    circle(-40,80)
    pencolor("black")
pencolor("black")
circle(40,80/2)
pencolor("grey")
fd(40)
circle(16,150)
fd(40*2/3)

在这里插入图片描述

  • 24
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值