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()
                    
                
                
            
        
浙公网安备 33010602011771号