
import turtle# 创建画布并设置画笔属性canvas = turtleScreen()
canvasbgcolor('white')
turtlepensize(10)
turtlepencolor('red')
turtlefillcolor('brown')# 绘制正方形turtlepenup()
turtlegoto(-50, -50)
turtlependown()
turtlebegin_fill()for i in range(4):
turtleforward(100)
turtleleft(90)
turtleend_fill()# 绘制圆形turtlepenup()
turtlegoto(0, 50)
turtlependown()
turtlebegin_fill()
turtlecircle(150)
turtleend_fill()# 关闭画布turtledone()
在Python编程语言中,turtle是一个基于图形的编程工具,它可以在屏幕上绘制各种形状和图形,如直线、圆形、多边形等,是学习计算机编程的一种有趣的方式。
通过Python中的turtle模块,程序员可以使用简单的指令来控制一个小乌龟(turtle)在屏幕上绘图。这些指令包括前进、后退、左转、右转等基本指令,程序员可以通过组合这些指令来绘制各种形状和图案。
Turtle可以通过向前/向后移动、向左/向右转弯、画线等 *** 作,让我们在屏幕上绘制出我们想要的图形。可以用它绘制各种形状和曲线,甚至可以用它来完成复杂的图像处理任务。
Turtle模块可以用于教授编程的基础知识和算法,如循环、条件语句等,使学生们能够在学习编程的同时,锻炼他们的逻辑思维和创造性思维能力。同时,它也是一个有趣和可视化的工具,让编程变得更加生动有趣。
1(几何学:一个五边形的面积)编写一个程序,提示用户输入五边形顶点到中心距离r,然后算出五边形的面积,如下图所示。
计算五边形面积的公式是Area = 5×s×s/(4×tan(π/5)),这里的s是边长。边长的计算公式是 s =2rsin(π/5),这里的r是顶点到中心距离。
2(几何学:大圆距离)大圆距离是球面上两点之间的距离。假设(x1,y1)和(x2,y2)是两点的经度和纬度,两点之间大圆距离可以利用以下公式计算:
d = radius arccos(sin(x1) × sin(x2) × cos(x1) × cos(x2) × cos(y2-y1))
编写一个程序,提示用户输入地球表面两点经度和纬度的度数然后显示它们的大圆距离。地球的平均半径为637101km。注意:你需要使用math radians函数将度数转化为弧度数,因为Python三角函数使用的是弧度。公式中的经纬度是西经和北纬。用负数表示东经和南纬。
3(几何学:估算面积)从网站找到佐治亚州亚特兰大、佛罗里达州奥兰多、大草原佐治亚、北卡罗来纳州夏洛特的GPS位置,然后计算出这四个城市所围成的区域的大概面积。
4(几何学:五角形的面积)五角形的面积可以使用下面的公式计算(s是边长)
Area = (5×s²)/ (4×tan(π/5))
编写一个程序,提示用户输入五边形的边长,然后显示面积。
5(几何学:一个正多边形的面积)正多边形是边长相等的多边形吗,而且所有的角都相等。计算正多边形面积的公式是:
Area = (n × s²)/(4×tan(π/n))
这里的s是边长。编写一个程序,提示用户输入边数以及正多边形的边长,然后显示他们的面积。
6(找出ASCII码的字符)编写一个程序,接收一个ASCII码值(一个0~127之间的整数),然后显示它对应的字符。例如:如果用户输入97,程序将显示字符a。
7(随机字符)编写一个程序,使用timetime()函数显示一个大写的随机字符。
9(金融应用程序:工资表)编写一个程序,读取下面的信息,然后打印一个工资报表。
雇员姓名(例如:史密斯)
一周工作时间(例如:10)
每小时酬报(例如:975)
联邦预扣税率(例如:20%)
州预扣税率(例如:9%)
10(Turtle显示统一码)编写一个程序,显示希腊字母。αβγδεζηθ
11(反向数字)编写一个程序,提示用户输入一个四位整数,然后显示颠倒各位数字后的数。
import turtle //导入模块
import time
import os
def draw_square(org_x, org_y, x, y): //定义红旗绘制函数
turtlesetpos(org_x, org_y) //定义画笔初始位置
turtlecolor('red', 'red') //颜色
turtlebegin_fill() //开始绘制
turtlefd(x) //绘制偏转方向和角度
turtlelt(90)
turtlefd(y)
turtlelt(90)
turtlefd(x)
turtlelt(90)
turtlefd(y)
turtleend_fill() //绘制结束
def draw_star(center_x, center_y, radius): //定义星星绘制函数
print(center_x, center_y) //显示位置
turtlepencolor('black') //画笔轨迹颜色
turtlesetpos(center_x, center_y) //中心点位置
pt1 = turtlepos() //偏转角度计算
turtlecircle(-radius, 360 / 5)
pt2 = turtlepos()
turtlecircle(-radius, 360 / 5)
pt3 = turtlepos()
turtlecircle(-radius, 360 / 5)
pt4 = turtlepos()
turtlecircle(-radius, 360 / 5)
pt5 = turtlepos()
turtlecolor('yellow', 'yellow') //星星颜色
turtlebegin_fill() //开是绘制
turtlegoto(pt3)
turtlegoto(pt1)
turtlegoto(pt4)
turtlegoto(pt2)
turtlegoto(pt5)
turtleend_fill() //绘制结束
print(turtlepos())
turtlepu() //隐藏画笔轨迹
draw_square(-320, -260, 660, 440) //绘制红旗
star_part_x = -320 //自定义星星大小等属性
star_part_y = -260 + 440
star_part_s = 660 / 30
center_x, center_y = star_part_x + star_part_s 5, star_part_y - star_part_s 5 //计算星星中心点位置
turtlesetpos(center_x, center_y)
turtlelt(90)
draw_star(star_part_x + star_part_s 5, star_part_y - star_part_s 2, star_part_s 3) //绘制星星
turtlegoto(star_part_x + star_part_s 10, star_part_y - star_part_s 2) //同上
turtlelt(round(turtletowards(center_x, center_y)) - turtleheading())
turtlefd(star_part_s)
turtlert(90)
draw_star(turtlexcor(), turtleycor(), star_part_s)
turtlegoto(star_part_x + star_part_s 12, star_part_y - star_part_s 4)
turtlelt(round(turtletowards(center_x, center_y)) - turtleheading())
turtlefd(star_part_s)
turtlert(90)
draw_star(turtlexcor(), turtleycor(), star_part_s)
turtlegoto(star_part_x + star_part_s 12, star_part_y - star_part_s 7)
turtlelt(round(turtletowards(center_x, center_y)) - turtleheading())
turtlefd(star_part_s)
turtlert(90)
draw_star(turtlexcor(), turtleycor(), star_part_s)
turtlegoto(star_part_x + star_part_s 10, star_part_y - star_part_s 9)
turtlelt(round(turtletowards(center_x, center_y)) - turtleheading())
turtlefd(star_part_s)
turtlert(90)
draw_star(turtlexcor(), turtleycor(), star_part_s)
turtleht()
timesleep(5) //设置挂起时间
os_exit(1)
"""
还有几个星座符未画
"""
import turtle
class Ph():
def __init__(self):
pass
def Aries(self):
turtlepensize(10)
turtleseth(190)
turtlecircle(-25,240)
turtlecircle(-300,30)
turtleseth(-80)
turtlefd(20)
turtleseth(80)
turtlefd(20)
turtlecircle(-300,30)
turtlecircle(25,240)
return "白羊星座符"
def Taurus(self):
turtlepensize(10)
turtleseth(-90)
turtlefd(100)
for i in range(2):
turtleseth(190)
turtlefd(80)
turtlecircle(-20,180)
turtlefd(80)
turtlecircle(100,30)
turtlepenup()
turtleseth(100)
turtlefd(5)
turtleseth(90)
turtlependown()
turtlecircle(-10,180)
turtlecircle(-80,70)
return "金牛星座符"
def Gemini(self):
return "双子星座符"
def Cancer(self):
return "巨蟹星座符"
def Leo(self):
return "狮子星座符"
def Virgo(self):
return "处女星座符"
def Libra(self):
return "天秤星座符"
def Scorpio(self):
return "天蝎星座符"
def Sagittarius(self):
return "射手星座符"
def Capricornus(self):
turtlepensize(10)
turtlecircle(-20,60)
turtleseth(-90)
return "魔羯星座符"
def Aquarius(self):
return "水瓶星座符"
def Pisces(self):
return "双鱼星座符"
class Zkz(Ph):
def __init__(self):
pass
def sx(self,year):
y = (year-1972)%12 #对12取余
return shx[y] #从字典shx里依次取对应的生肖,如:1972即余数0,取“鼠”
def xz(self,month,date):
if date<d[month-1]: #如果是119号,即取d中1月份的20
return c[month-1]#日期在20号之前,即取对应到c的摩羯座
else:
return c[month] #否则就是20号之后,下一个水瓶座
if __name__=="__main__":
f1="精力旺盛、活力充沛的星座。性格与爱情多数“横冲直撞”,但纯真的个性里没有杀伤力,所以不用太担心"
f2="慢条斯理的星座。凡事总是考虑后再过滤,属於大器晚成型,情思也比较晚开。他们有超人的稳定性,一旦下赌注,就有把握赢"
f3="变化速度快如风的星座。双子的双重性格常搞的别人和自己头痛万分,对於事业与爱情,如果肯多花点心思经营,应该会是很好的,但他们实在是太机灵了"
f4="非常需要爱与安定的星座。爱猜疑的个性,使他们在人生旅途上处处显得缺乏安全感。但是带著母爱光辉的巨蟹,为了所爱倒是心甘情愿的付出"
f5="讲究气派华丽的星座。狮子是森林之王,理所当然喜欢呼朋引伴,有些耐不住寂寞。他们有冲劲,虽然粗枝大叶,但为人讲义气,也蛮有人缘"
f6="有点挑剔又追求完美的星座。缺乏信心的个性,常在潜意识里责怪自己不够美好;虽然难免会使心情沉重,但天生的优点就是放得开,不会就此一蹶不振"
f7="爱美又怕空虚的星座。凭借天生的外交本领,能在各色人物之间周旋;但有时也会因为过于顾虑面面俱到,搞的吃力不讨好,脑筋常常转来转去,当心神经衰弱"
f8="神秘诡谲,令人费疑猜的星座。他们可以很执著,也可以很破坏;在爱情的国度里黑白分明,没有灰色地带,他们对於自己的目标相当清楚,一旦确立就往前冲"
f9="自由浪漫也滥情的星座。不爱受约束的个性使他们很怕被捆绑,多情的天性也使他们四处寻求猎物;性情天真,常会伤了人也不自觉,爱他们~就由他们去吧"
f10="严谨刻板,稳重老成的星座。虽然他们一向给人呆板的印象,但是呆板的人普遍说来不太耍花样;不管是在事业或爱情上,他们也都以这份特殊气质获胜"
f11="思想超前,理性自重的星座。一样的不爱受约束,一样的博爱,但他们还是不同射手座;他们较著重於精神层次的提升,是很好的启发对象"
f12="多愁敏感,爱作梦、幻想的星座。天生多情,使他们常为情字挣扎,情绪的波动起伏也跟脱不了关系;但他们生性柔弱,很喜欢奉献,也不会随意伤人"
b={'白羊座':f1,'金牛座':f2,'双子座':f3,'巨蟹座':f4,'狮子座':f5,'处女座':f6,'天秤座':f7,'天蝎座':f8,'射手座':f9,'魔羯座':f10,'水瓶座':f11,'双鱼座':f12}
shx = {0:"鼠",1:"牛",2:"虎",3:"兔",4:"龙",5:"蛇",6:"马",7:"羊",8:"猴",9:"鸡",10:"狗",11:"猪"}
d = (20,19,21,20,21,22,23,23,23,24,23,22) #按日期顺序把每个月的分隔星座的日期列出来,从水瓶座(1月)开始
c = ("摩羯座","水瓶座","双鱼座","白羊座","金牛座","双子座","巨蟹座","狮子座","处女座","天秤座","天蝎座","射手座")
# 有了列表d的分隔日期,对应在此分隔日期之前的星座写入列表c,如:第一个水瓶座的20号之前是摩羯座
sr = input("请输入您的生日(格式:19920321):")
z=Zkz()
t = srsplit("") #切片,把sr以“”分割,变成3个字符串
year = int(t[0])
month = int(t[1])
date = int(t[2])
print ("您的生肖是:%s"% zsx(year))
print("您的星座是:%s"% zxz(month,date))
print('{0}是{1}'format(zxz(month,date),bget(zxz(month,date))))
if zxz(month,date) is '白羊座':
print(zAries())
elif zxz(month,date) is '金牛座':
print(zTaurus())
elif zxz(month,date) is '双子座':
print(zGemini())
elif zxz(month,date) is '巨蟹座':
print(zCancer())
elif zxz(month,date) is '狮子座':
print(zLeo())
elif zxz(month,date) is '处女座':
print(zVirgo())
elif zxz(month,date) is '天秤座':
print(zLibra())
elif zxz(month,date) is '天蝎座':
print(zScorpio())
elif zxz(month,date) is '射手座':
print(zSagittarius())
elif zxz(month,date) is '魔羯座':
print(zCapricornus())
elif zxz(month,date) is '水瓶座':
print(zAquarius())
elif zxz(month,date) is '双鱼座':
print(zPisces())
以上就是关于用python编写程序全部的内容,包括:用python编写程序、turtle在python中的含义、Python语言程序设计(六)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)