python实验6(函数的应用)

1.猜数字游戏之续了又续。

为了增加代码的复用性,将猜数字游戏(实验三的第3个程序)封装为函数GuessSecret(times,minNum,maxNum),将允许猜数字的最大次数times、猜数字的最小值minNUm和最大值maxNum作为参数。在调用GuessSecret时允许用户自己设置times、minNUm和maxNum,美化程序的输出界面。

 1 import random
 2 def GuessSecret(times,minNum,maxNum):
 3     num = random.randint(minN,maxN)
 4     guess = 0
 5     count = 0
 6     print('''             ------------------------------------
 7              ---                              ---
 8              ---   欢迎参加猜数字游戏,请开始   ---
 9              ---                              --- 
10              ------------------------------------''')
11     while guess != num and times != 0:
12         guess = int(input('请输入:'))
13         count+=1
14         if guess > num:
15             print('你猜的数字大于正确答案')
16         elif guess < num:
17             print('你猜的数字小于正确答案')
18         else:
19             print('你猜的数是正确答案')
20             print('你猜了{}次,猜对了,真厉害'.format(count))
21         times-=1
22     print('game over')   
23 try:
24     ts = int(input('@请输入猜数字的最大次数:'))
25     minN = int(input('@请输入猜数字的最小值:'))
26     maxN = int(input('@请输入猜数字的最大值:'))
27 except ValueError:#valueerror和nameerror
28     print('输入内容必须为整数!请重新输入')
29     ts = int(input('@请输入猜数字的最大次数:'))
30     minN = int(input('@请输入猜数字的最小值:'))
31     maxN = int(input('@请输入猜数字的最大值:'))
32 #else:#只有当没有出现异常的时候才会执行
33 GuessSecret(ts,minN,maxN) 

2. 利用lambda函数比较两个输入的大小,并利用datetime库按照如下格式显示当前时间。

 1 import datetime 
 2 from datetime import date
 3 #MAX = lambda a,b:(a>b)*a+(a<b)*b
 4 MAX = lambda a,b:max(a,b)
 5 a = input('请输入x的值:')
 6 b = input('请输入y的值:')
 7 print('两个输入中,较大的是:',MAX(a,b))
 8 
 9 d = date.today()
10 print('当前时间',d.strftime('%Y年%m月%d日'))

3. 递归法绘制科赫曲线。将 “科赫曲线绘制”程序录入并运行,按自己的思路进行修改并运行效果,体会递归思想。

 1 import turtle as t       #turtle是一个绘图库
 2 def koch(size,n):
 3     if n==0:
 4         t.fd(size)
 5     else:
 6         for angle in [0,60,-120,60]:
 7             t.left(angle)
 8             koch(size/3,n-1)
 9 if __name__=='__main__':
10     t.setup(1000,1000)
11     t.pen(speed = 0,pendown = False, pencolor = 'blue')
12     a,n = 400,4
13     t.goto(-a/2,a/2/pow(3,0.5))
14     t.pd()
15     for i in range(3):
16         koch(a,n)
17         t.right(120)
18     t.ht()
19     t.done()

 

posted @ 2022-04-28 09:32  逃离汽车尾气  阅读(285)  评论(0)    收藏  举报