博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python程序设计之结构与复用
阅读量:3965 次
发布时间:2019-05-24

本文共 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 guess

在这里插入图片描述

2.猜数字游戏续。改编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

在这里插入图片描述

  1. 猜数字游戏再续。用变量maxtimes设置允许猜数字的最大次数(比如最多只允许猜6次maxtimes=6),并在猜错后提示还有几次机会。用for循环改写整个程序。(提示,猜对后可使用break跳出循环)
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/

你可能感兴趣的文章
Java 变量名
查看>>
Java 四舍五入运算
查看>>
Spring Batch 例子: 运行系统命令
查看>>
Spring Batch 核心概念
查看>>
Spring Batch 例子: 导入定长文件到数据库
查看>>
正则表达式
查看>>
Java I/O
查看>>
序列化
查看>>
Perl 精萃
查看>>
Perl 简介
查看>>
Perl 注释
查看>>
数据类型之标量
查看>>
调试 Perl 脚本
查看>>
增强的for循环语句
查看>>
静态导入
查看>>
java 泛型
查看>>
控制结构
查看>>
标准输入输出
查看>>
运算符
查看>>
数据类型之列表与数组
查看>>