一个还不太懂的:模块内高耦合、模块间低耦合
补充编程模板中代码,完成如下功能:
以整数17为随机数种子,获取用户输入整数N为长度,产生3个长度为N位的密码,密码的每位是一个数字。每个密码单独一行输出。
产生密码采用random.randint()函数。
输入 | 输出 | |
示例 1 | |
|
import random
def genpwd(length):
min = pow(10, length - 1) # 定义一个下限
max = pow(10, length) - 1 # 定义一个上限
return "{}".format(random.randint(min, max))
length = eval(input())
random.seed(17)
for i in range(3):
print(genpwd(length))
补充编程模板中代码,完成如下功能:
获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。
注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。
输入 | 输出 | |
示例 1 | |
|
def prime(m):
for i in range(2,m):
if m%i == 0:
return False
return True
n = eval(input())
if n != int(n):
n = int(n) + 1
else:
n = int(n)
flag = 5
while flag > 0:
if prime(n):
if flag > 1:
print(n,end=",")
else:
print(n)
flag = flag - 1
n = n + 1
请用程序绘制当前系统时间对应的七段数码管,效果如下:
要求如下:
(1) 使用 time 库获得系统当前时间,格式如下:20190411
(2) 绘制对应的七段数码管
(3) 数码管风格不限
import turtle,time
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 drawDight(dight):#根据数字绘制七段数码管
drawLine(True) if dight in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if dight in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if dight in [0,2,3,5,6,8] else drawLine(False)
drawLine(True) if dight in [0,2,6,8] else drawLine(False)
turtle.left(90)
drawLine(True) if dight in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if dight in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if dight in [0,1,2,3,4,7,8,9] else drawLine(False)
turtle.right(180)
turtle.penup()
turtle.fd(20)
def drawDate(date):
turtle.pencolor("red")
for i in date:
if i == '+':
turtle.pencolor("blue")
elif i == "-":
turtle.pencolor("yellow")
else:
drawDight(eval(i))
def main():
turtle.setup(800,400,200,200)
turtle.penup()
turtle.fd(-280)
turtle.pensize(5)
drawDate(time.strftime('%Y+%m-%d',time.gmtime()))
#drawDate('20190814')
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()
turtle.goto(-200, 100)
turtle.pendown()
turtle.pensize(2)
koch(300, level)
turtle.hideturtle()
turtle.done()
try:
level = eval(input("请输入科赫曲线的阶: "))
main(level)
except:
print("输入错误")