本文共 3670 字,大约阅读时间需要 12 分钟。
1.猜数字游戏。在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“你猜的数字大于正确答案”;小于预设的数,显示“你猜的数字小于正确答案”,如此循环,直至猜中该数,显示“你猜了N次,猜对了,真厉害”,其中N是用户输入数字的次数。
guess=0 #输入的数字secret=7 #预设的数字times=1 #猜数字的次数print("---------欢迎参加猜数字游戏,请开始---------")while guess!=secret: #条件 guess=int(input("@数字区间0-9,请输入你猜的数字:")) print("你输入的数字是:",guess) if guess==secret: #如果输入的数字等于预设的数字 print("你猜了{}次,猜对了,真厉害".format(times)) else: if guess2.猜数字游戏续。改编1中的猜数字游戏,让计算机能够随机产生一个预设数字,范围在0-100之间,其他游戏规则不变。
import randomguess=0 #输入的数字times=1 #猜数字的次数secret=random.randint(0,100) #生成随机数print("---------欢迎参加猜数字游戏,请开始---------")while guess!=secret: #条件 guess=int(input("@数字区间0-100,请输入你猜的数字:")) print("你输入的数字是:",guess) if guess==secret: #如果输入的数字等于预设的数字 print("你猜了{}次,猜对了,真厉害".format(times)) else: if guess
import randomguess=0 #输入的数字times=1 #猜数字的次数secret=random.randint(0,100) #生成随机数maxtimes=6 #猜数字的最大次数print("---------欢迎参加猜数字游戏,请开始---------")for value in range(1,maxtimes+1): if guess != secret: # 条件 guess = int(input("@数字区间0-100,请输入你猜的数字:")) print("你输入的数字是:", guess) maxtimes -=1 #每猜一次次数自减1 if guess == secret: # 如果输入的数字等于预设的数字 print("你猜了{}次,猜对了,真厉害".format(times)) break else: if guess < secret: # 如果输入的数字小于预设的数字 print("你猜的数字小于正确答案") else: # 如果输入的数字大于预设的数字 print("你猜的数字大于正确答案") print("你还有 %d 次机会" %(maxtimes)) times += 1 # 每猜一次计数自加1print("游戏结束")
4.猜数字游戏之续了又续。为了增加代码的复用性,将猜数字游戏封装为函数GuessSecret(maxtimes),将允许猜数字的最大次数maxtimes作为参数。在调用GuessSecret时允许用户自己设置maxtimes,美化程序的输出界面。
import randomdef GuessSecret(maxtimes): guess = 0 # 输入的数字 times = 1 # 猜数字的次数 secret = random.randint(0, 100) # 生成随机数 print("--------------------------------------------") print("---------欢迎参加猜数字游戏,请开始---------") print("--------------------------------------------") for value in range(1, maxtimes + 1): if guess != secret: # 条件 guess = int(input("@数字区间0-100,请输入你猜的数字:")) print("你输入的数字是:", guess) maxtimes -= 1 # 每猜一次次数自减1 if guess == secret: # 如果输入的数字等于预设的数字 print("你猜了{}次,猜对了,真厉害".format(times)) break else: if guess < secret: # 如果输入的数字小于预设的数字 print("你猜的数字小于正确答案") else: # 如果输入的数字大于预设的数字 print("你猜的数字大于正确答案") print("你还有 %d 次机会" % (maxtimes)) times += 1 # 每猜一次计数自加1 print("游戏结束")maxts=eval(input("@请输入猜数字的最大次数:"))GuessSecret(maxts) #调用函数
执行效果如下图所示。
5. 递归法绘制科赫曲线。“科赫曲线绘制”程序(利用强大的搜索能力)逐行输入其中,按自己的思路进行修改并运行效果,体会递归思想。import turtledef koch(size, n): #雪花的大小,及阶数 if n == 0: turtle.fd(size) #让画笔向前移动size else: for angle in [0, 60, -120, 60]: turtle.left(angle) #逆时针移动角度angel koch(size / 3, n - 1) #递归调用def main(): #设置一系列参数 turtle.setup(600, 600) #设置窗体大小为600,600 turtle.penup() #提起笔移动,但不绘图 turtle.goto(-200, 100) #将画笔移动到坐标为-200,100的位置 turtle.pendown() #移动时绘制图形 turtle.pensize(2) #设置画笔粗细为2 level = 3 # 3阶科赫雪花,阶数 koch(400, level) #为雪花设置大小及阶数 turtle.right(120) #顺时针移动120度 koch(400, level) #为雪花设置大小及阶数 turtle.right(120) #顺时针移动120度 koch(400, level) #为雪花设置大小及阶数 turtle.hideturtle() #隐藏画笔的turtle形状main()
转载地址:http://nxyki.baihongyu.com/