python123【函数和代码复⽤】练习五+测验五⽂章⽬录
练习五
⼀:七段数码管的绘制
import time,turtle
def drawgap():
turtle.penup()
turtle.fd(5)
def drawline(draw):
drawgap()
turtle.pendown if draw else turtle.penup()
turtle.fd(40)
drawgap()
turtle.right(90)
def drawdigit(digit):
drawlint(True)if digit in[2,3,4,5,6,8,9]else drawline(False)
drawlint(True)if digit in[0,1,3,4,5,6,7,8,9]else drawline(False)
drawlint(True)if digit in[0,2,3,5,6,8,9]else drawline(False)
drawlint(True)if digit in[0,2,6,8]else drawline(False)
turtle.left(90)
drawlint(True)if digit in[0,4,5,6,8,9]else drawline(False)
drawlint(True)if digit in[0,2,3,5,6,7,8,9]else drawline(False)
drawlint(True)if digit in[0,1,2,3,4,7,8,9]else drawline(False)
turtle.left(180)
turtle.penup()
turtle.fd(20)
def drawdata(date):
turtle.pencolor("red")
for i in date:
if i =='-':
turtle.write('年',font=("Arial",18,"normal"))
turtle.pencolor("green")
turtle.fd(40)
elif i =='=':
turtle.write('⽉',font=("Arial",18,"normal"))
turtle.pencolor("blue")
turtle.fd(40)
elif i =='+':
turtle.write('⽇',font=("Arial",18,"normal"))
else:
drawdigit(eval(i))
def main():
turtle.setup(800,350,200,200)
turtle.penup()
html标签span什么作用turtle.fd(-300)
turtle.pensize(5)
drawDate(time.strftime('%Y-%m=%d+',ime()))
turtle.hideturtle()
turtle.done()
main()
⼆:科赫雪花⼩包裹
import turtle
def koch(size, n):
if n ==0:
turtle.fd(size)
else:
for angle in[0,60,-120,60]:
turtle.left(angle)
koch(size/3,n-1)
def main(level):
turtle.setup(600,600)
turtle.penup()
<(-200,100)
turtle.pendown()
turtle.pensize(2)
level =3
koch(400,level)
turtle.right(120)
koch(400,level)
turtle.right(120)
koch(400,level)
turtle.hideturtle()
write是什么意思翻译try:
level =eval(input("请输⼊科赫曲线的阶: "))    main(level)
except:
print("输⼊错误")
三:任意积累
# 请在...补充⼀⾏或多⾏代码
def cmul(a,*b):
m = a
for i in b:
m *= i
return m
print(eval("cmul({})".format(input())))
四:斐波那契数列计算
# 请在...补充⼀⾏或多⾏代码
def fbi(n):
if n ==1or n ==2:
return1
else:
return fbi(n-1)+ fbi(n-2)
n =eval(input())
print(fbi(n))
五:汉诺塔实践
steps =0
def hanoi(src, des, mid, n):
global steps
if n ==1:
steps +=1
print("[STEP{:>4}] {}->{}".format(steps, src, des)) else:
hanoi(src, mid,des, n-1)
steps +=1
print("[STEP{:>4}] {}->{}".format(steps, src, des))        hanoi(mid,des,src,n-1)
N =eval(input())
python基础代码练习
hanoi("A","C","B", N)
测验五
选择题
1
jrs直播英锦赛决赛以下选项不是函数作⽤的是:A
A:提⾼代码执⾏速度
B:复⽤代码
C:增强代码可读性
D:降低编程复杂度
2
def f(a,b):
a =4
return a+b
def main():
a =5
b =6
print(f(a,b),a+b)
main()
输出结果
1011
3
以下关于Python函数说法错误的是:B
def func(a,b):
c=a**2+b
b=a
return c
a=10
b=100
c=func(a,b)+a
A:执⾏该函数后,变量a的值为10
B:执⾏该函数后,变量c的值为200
C:该函数名称为func
D:执⾏该函数后,变量b的值为100
4
以下关于函数调⽤描述正确的是:A
A:⾃定义函数调⽤前必须定义
B:Python内置函数调⽤前需要引⽤相应的库
C:函数在调⽤前不需要定义,拿来即⽤就好
D:函数和调⽤只能发⽣在同⼀个⽂件中
函数调⽤前必须已经存在函数定义,否则⽆法执⾏。
Python内置函数直接使⽤,不需要引⽤任何模块。
5
模块内⾼耦合、模块间低耦合。
6
递归不提⾼程序执⾏效率。
任何递归程序都可以通过堆栈或队列变成⾮递归程序(这是程序的⾼级应⽤)。
7
调⽤函数不需要知道函数内部实现原理,只需要知道调⽤⽅法(即接⼝)即可。
8
def vfunc(*a, b) 是错误的定义:*a表⽰可变参数,可变参数只能放在函数参数的最后。9
函数可以包含0个或多个return语句
10
每个递归函数⾄少存在⼀个基例,但可能存在多个基例。
⼀:随机密码⽣成
#请在...补充代码
import random
def genpwd(length):
a =pow(10,length -1)
b =pow(10,length)-1
return"{}".format(random.randint(a,b))
length =eval(input())
random.seed(17)
for i in range(3):
print(genpwd(length))
⼆:连续质数计算
# 请在...补充⼀⾏或多⾏代码
def prime(m):
for i in range(2,m):
if m % i ==0:
matlab在线网站return False
return True
n =eval(input())
n_ =int(n)
n_ = n_ +1if n_ < n else n_
count =5
易语言入门免费视频教程while count >0:
if prime(n_):
if count >1:
print(n_,end =",")
else:
print(n_,end ="")
count -=1
n_ +=1

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。