搬瓦工怎么做网站,出于安全保障需要,做设计做网站,一般网站的宽度是多少像素目录
一、实验目标
二、实验内容
1.绘制如下图形 #xff0c;一个正方形#xff0c;内有三个红点#xff0c;中间红点在正方形中心。
2.使用turtle库绘制如下图形#xff1a;
3.绘制奥运五环图
4.回文问题
5.身份证性别判别
6.数据压缩
7.验证哥德巴赫猜想
8.使…目录
一、实验目标
二、实验内容
1.绘制如下图形 一个正方形内有三个红点中间红点在正方形中心。
2.使用turtle库绘制如下图形
3.绘制奥运五环图
4.回文问题
5.身份证性别判别
6.数据压缩
7.验证哥德巴赫猜想
8.使用蒙特 · 卡罗方法计算圆周率近似值问题
9.爬楼梯问题
10.年份判断
11.选做题汉诺塔问题。 一、实验目标
1.了解Python的基本编程环境熟悉其主要组成部分和使用。
2.熟悉turtle库语法元素了解其绘图坐标体系、画笔控制函数和运动命令函数。通过程序实例初步掌握Python程序设计的基本概念、编程规则和开发过程。
3.掌握Python的基本数据类型的概念和使用
4.运用Python的标准数学库进行数值计算
5. 掌握字符串类型的格式化操作方法和应用。
6.熟练运用选择结构与循环结构解决实际问题。
二、实验内容
1.绘制如下图形 一个正方形内有三个红点中间红点在正方形中心。 要求如下 1正方形边长为200线条为黑色 2圆点的直径均为20 填充颜色为红色,画完后隐藏画笔 3中间圆点的圆心位置为画布正中心,三个圆心之间距离相隔为40。
import turtle as tu
tu.setup(width1.0,height1.0,startx0,starty0)
tu.bgcolor(white)
tu.pencolor(black)
tu.hideturtle()
tu.begin_fill()
tu.fillcolor(red)
tu.circle(10)
tu.end_fill()
tu.penup()
tu.goto(40,0)
tu.pendown()
tu.begin_fill()
tu.fillcolor(red)
tu.circle(10)
tu.end_fill()
tu.penup()
tu.goto(-40,0)
tu.pendown()
tu.begin_fill()
tu.fillcolor(red)
tu.circle(10)
tu.end_fill()
tu.penup()
tu.goto(-100,-100)
tu.pendown()
for i in range(4):tu.forward(200)tu.left(90)
tu.penup()
tu.goto(-20,200)
tu.pendown()
tu.mainloop()
2.使用turtle库绘制如下图形 1画一个由一个正方形和一个菱形组成的图形其中正方形的边长为200象素菱形的四个顶点均在正方形四条边的中点上
2设置画笔速度为1
3菱形的填充颜色为红色所有线条为黑色
4画图结束隐藏并停止画笔。
import turtle as tu
tu.hideturtle()
tu.setup(1.0,1.0,0,0)
tu.bgcolor(white)
tu.penup()
tu.goto(-100,-100)
tu.pendown()
for i in range(4):tu.forward(200)tu.left(90)
tu.penup()
tu.goto(0,-100)
tu.left(45)AC
tu.pendown()
tu.begin_fill()
tu.fillcolor(red)
for i in range(4):tu.forward(141)tu.left(90)
tu.end_fill()
tu.penup()
tu.goto(-20,200)
tu.pendown()
tu.mainloop()
3.绘制奥运五环图
其中五种颜色分别为蓝色、黑色、红色、黄色和绿色。注意根据实际效果调整圆形的大小和位置。 import turtle as tu
tu.setup(1.0,1.0,0,0)
tu.hideturtle()
tu.bgcolor(white)
tu.pencolor(black)
tu.pensize(5)
tu.circle(50)
tu.penup()
tu.goto(-120,0)
tu.pendown()
tu.pencolor(blue)
tu.pensize(5)
tu.circle(50)
tu.penup()
tu.goto(120,0)
tu.pendown()
tu.pencolor(red)
tu.pensize(5)
tu.circle(50)
tu.penup()
tu.goto(60,-60)
tu.pendown()
tu.pencolor(green)
tu.pensize(5)
tu.circle(50)
tu.penup()
tu.goto(-60,-60)
tu.pendown()
tu.pencolor(yellow)
tu.pensize(5)
tu.circle(50)
tu.penup()
tu.goto(-20,200)
tu.pendown()
tu.pencolor(black)
tu.mainloop()
4.回文问题
输入一个字符串判断一个字符串是不是回文。
def f(s):for i in range(len(s)):if s[i]!s[len(s)-i-1]:return Falsereturn True
print(f(input()))
5.身份证性别判别
输入一个18位字符组成的身份证号其中第17位表示性别如果是奇数表示男性是偶数表示女性编写代码实现判断输入的一个身份证号是男性还是女性。
def f(s):if int(s[16])%20:print(woman)else:print(man)
f(input())
6.数据压缩
用两个数据表示一段连续相同的字符第一个数据记录指定字符重复相同的次数第二个记录具体字符值。例如输入字符串“AAAABBBCC”输出“4A3B2C”
def f(s):res[]dic{}for i in s:if i in res:dic[i]1else:res.append(i)dic[i]1for i in res:print(%d%s%(dic[i],i),end)
f(AAAABBBCC)
7.验证哥德巴赫猜想
任何大于2的偶数都可以表示为两个素数之和。输入一个大于2的偶数若猜想成功屏幕上输出哥德巴赫猜想等式否则输出“Failed”。
例如输入100输出973。
def su(n):for i in range(2,n//21):if n%i0:return Falsereturn True
def f(n):for i in range(2,n//21):if su(i) and su(n-i):print((%d%d)%(n-i,i))returnprint(Failed)return
f(100)
8.使用蒙特 · 卡罗方法计算圆周率近似值问题
试着编写程序模拟蒙特·卡罗计算圆周率近似值的方法输入掷飞镖次数然后输出圆周率近似值。
蒙特·卡罗方法是一种通过概率来得到问题近似解的方法在很多领域都有重要的应用其中就包括圆周率近似值的计算问题。假设有一块边长为 2 的正方形木板上面画一个单位圆然后随意往木板上扔飞镖落点坐标(x, y)必然在木板上更多的时候是落在单位圆内如果扔的次数足够多那么落在单位圆内的次数除以总次数再乘以 4这个数字会无限逼近圆周率的值。
提示random模块用法
import random #导入random模块
random.random()产生0-1之间的一个随机数
import random as r
n1000000
sums0
for i in range(n):xr.uniform(0,1)yr.uniform(0,1)if (x-0.5)*(x-0.5)(y-0.5)*(y-0.5)0.25:sums1
print(sums/n*4)
9.爬楼梯问题
假设一段楼梯共 15 个台阶小明一步最多能上 3 个台阶。输入小明上的台阶计算小明上这段楼梯一共有多少种方法。从第15个台阶上往回看有3种方法可以上来从第14个台阶上一步迈1个台阶上来从第13个台阶上一步迈2个台阶上来从第12个台阶上一步迈3个台阶上来同理第14个、13个、12个台阶都可以这样推算从而得到公式f(n) f(n-1) f(n-2) f(n-3)其中n15、14、13、...、5、4。然后确定这个递归公式的结束条件了第一个台阶只有1种上法第二个台阶有2种上法一步迈2个台阶上去、一步迈1个台阶分两步上去第三个台阶有4种上法….
def f(n):if n0:return 0if n0:return 1return weimeng(n-1)weimeng(n-2)weimeng(n-3)
print(f(15))
10.年份判断
输入某一个年份输出该年份开始的12个年份及对应的天干地支与生肖。例如
输入2009年
输出
2009 己丑 牛
...【中间部分省略了程序测试效果要输出】
2020 庚子 鼠
year int(input(请输入年份))
tiangan [甲, 乙, 丙, 丁, 戊, 己, 庚, 辛, 壬, 癸]
dizhi [子, 丑, 寅, 卯, 辰, 巳, 午, 未, 申, 酉, 戌, 亥]
shengxiao [鼠, 牛, 虎, 兔, 龙, 蛇, 马, 羊, 猴, 鸡, 狗, 猪]
gan tiangan[(year - 4)%10]
zhi dizhi[(year - 4)%12]
xiao shengxiao[(year - 4)%12]
for i in range(year, year 12):gan tiangan[(i - 4)%10]zhi dizhi[(i - 4)%12]xiao shengxiao[(i - 4)%12]print(i, gan, zhi, xiao)
11.选做题汉诺塔问题。
据说古代有一个梵塔塔内有三个底座 A、B、CA 座上有 64 个盘子盘子大小不等大的在下小的在上。有一个和尚想把这 64 个盘子从 A 座移到 C 座但每次只能允许移动一个盘子。在移动盘子的过程中可以利用 B 座但任何时刻 3 个座上的盘子都必须始终保持大盘在下、小盘在上的顺序。如果只有一个盘子则不需要利用 B 座直接将盘子从 A 移动到 C 即可。编写函数接收一个表示盘子数量的参数和分别表示源、目标、临时底座的参数然后输出详细移动步骤和每次移动后三个底座上的盘子分布情况。
t1
def f(n,a,b,c):global tif n1:print(%d.Move %d from %s to %s%(t,n,a,c))t1return Nonef(n-1,a,c,b)print(%d.Move %d from %s to %s%(t,n,a,c))t1f(n-1,b,a,c)
nint(input())
a,b,ca,b,c
f(n,a,b,c)