用Python设计猜数游戏
python 有趣的代码

Python有趣的代码Python是一种简单易学、功能强大的编程语言,它不仅适用于开发各种类型的应用程序,还可以用来编写有趣的代码。
本文将为您介绍一些有趣的Python代码,希望能给您带来一些乐趣和启发。
1. 打印自己的名字name = "John Doe"print(f"Hello, my name is {name}")这段代码使用了Python的f-string格式化字符串功能,将变量name的值插入到字符串中,实现了打印自己的名字。
2. 猜数字游戏import randomnumber = random.randint(1, 100)guess = Nonewhile guess != number:guess = int(input("猜一个1到100之间的数字: "))if guess < number:print("太小了,再试试!")elif guess > number:print("太大了,再试试!")else:print("恭喜你,猜对了!")这段代码实现了一个简单的猜数字游戏。
程序会生成一个1到100之间的随机数,然后提示用户猜数字,根据用户的猜测给出提示,直到猜对为止。
3. 绘制彩色螺旋import turtlecolors = ["red", "orange", "yellow", "green", "blue", "purple"]turtle.speed(0)for i in range(360):turtle.pencolor(colors[i % len(colors)])turtle.width(i / 100 + 1)turtle.forward(i)turtle.left(59)这段代码利用Python的turtle模块绘制了一个彩色螺旋。
Pythontkinter版猜数游戏

Pythontkinter版猜数游戏import randomimport tkinterimport tkinter.messageboximport tkinter.simpledialogroot = ()#窗⼝标题root.title('猜数游戏--by董付国')#窗⼝初始⼤⼩和位置root.geometry('280x80+400+300')#不允许改变窗⼝⼤⼩root.resizable(False, False)#⽤户猜的数varNumber = tkinter.StringVar(root, value='0')#允许猜的总次数totalTimes = tkinter.IntVar(root, value=0)#已猜次数already = tkinter.IntVar(root, value=0)#当前⽣成的随机数currentNumber = tkinter.IntVar(root, value=0)#玩家玩游戏的总次数times = tkinter.IntVar(root, value=0)#玩家猜对的总次数right = tkinter.IntVar(root, value=0)lb = bel(root, text='请输⼊⼀个整数:')lb.place(x=10, y=10, width=100, height=20)#⽤户猜数并输⼊的⽂本框entryNumber = tkinter.Entry(root, width=140, textvariable=varNumber)entryNumber.place(x=110, y=10, width=140, height=20)#只有开始游戏以后才允许输⼊entryNumber['state'] = 'disabled'#关闭程序时提⽰战绩def closeWindow():message = '本次共玩游戏 {0} 次,猜对 {1} 次!\n欢迎下次再玩!'.format(times.get(), right.get())tkinter.messagebox.showinfo('战绩', message)root.destroy()root.protocol('WM_DELETE_WINDOW', closeWindow)#按钮单击事件处理函数def buttonClick():if button['text']=='Start Game':#每次游戏时允许⽤户⾃定义数值范围#玩家必须输⼊正确的数while True:try:start = tkinter.simpledialog.askinteger('允许的最⼩整数', '最⼩数', initialvalue=1)breakexcept:passwhile True:try:end = tkinter.simpledialog.askinteger('允许的最⼤整数', '最⼤数', initialvalue=10)breakexcept:pass#在⽤户⾃定义的数值范围内⽣成随机数currentNumber.set(random.randint(start, end))#⽤户⾃定义⼀共允许猜⼏次#玩家必须输⼊正确的整数while True:try:t = tkinter.simpledialog.askinteger('最多允许猜⼏次?', '总次数', initialvalue=3)totalTimes.set(t)breakexcept:pass#已猜次数初始化为0already.set(0)button['text'] = '剩余次数:' + str(t)#把⽂本框初始化为0varNumber.set('0')#允许⽤户开始输⼊整数entryNumber['state'] = 'normal'#玩游戏的次数加1times.set(times.get() + 1)else:#⼀共允许猜⼏次total = totalTimes.get()#本次游戏的正确答案current = currentNumber.get()#玩家本次猜的数try:x = int(varNumber.get())except:tkinter.messagebox.showerror('抱歉', '必须输⼊整数')returnif x == current:tkinter.messagebox.showinfo('恭喜', '猜对啦')button['text'] = 'Start Game'#禁⽤⽂本框entryNumber['state'] = 'disabled'right.set(right.get() + 1)else:#已猜次数加1already.set(already.get()+1)if x > current:tkinter.messagebox.showerror('抱歉', '猜的数太⼤了')else:tkinter.messagebox.showerror('抱歉', '猜的数太⼩了')#可猜次数⽤完了if already.get()==total:tkinter.messagebox.showerror('抱歉', '游戏结束了,正确的数是:'+str(currentNumber.get())) button['text'] = 'Start Game'#禁⽤⽂本框entryNumber['state'] = 'disabled'else:button['text'] = '剩余次数:' + str(total-already.get())#在窗⼝上创建按钮,并设置事件处理函数button = tkinter.Button(root, text='Start Game', command=buttonClick)button.place(x=10, y=40, width=250, height=20)#启动消息主循环root.mainloop()有时间更改⼀下,感觉还不错哈import tkinterimport mathimport tkinter.messageboximport randomroot =()root.minsize(350,260)root.title('猜数字游戏')number=random.randint(1,20)def say_hello():print('hello,world!')def send_low():tkinter.messagebox.showinfo("messagebox","Your guess is too low.")def check_num():guess=text_guess.get()guess=int(guess)if guess>number:tkinter.messagebox.showinfo("height","Your guess is too height.")if guess < number:tkinter.messagebox.showinfo("low","Your guess is too low.")if guess == number:tkinter.messagebox.showinfo("good","Good job!")def btn_confirm():myName=text_name.get()tkinter.messagebox.showinfo("name",'Well,'+myName+',I am thinking of a number between 1 and 20.') #namelabel=bel(root,text="Wellcome to our game!")label.pack()label_name=bel(root,text="What's your name?")label_name.place(x=10,y=60)text_name=tkinter.Entry(root,width=20)text_name.place(x=10,y=90)btnOK=tkinter.Button(root,text="OK",command=btn_confirm)btnOK.place(x=200,y=90,height=28)#inputlabel_guess=bel(root,text='Take a guess:')label_guess.place(x=10,y=150)text_guess=tkinter.Entry(root,width=10)text_guess.place(x=90,y=150)btnCheck=tkinter.Button(root,text='Guess',command=check_num)btnCheck.place(x=200,y=150,width=45,height=28)root.mainloop()计算2。
Python小游戏代码

Python5个小游戏代码1. 猜数字游戏import randomdef guess_number():random_number = random.randint(1, 100)attempts = 0while True:user_guess = int(input("请输入一个1到100之间的数字:"))attempts += 1if user_guess > random_number:print("太大了,请再试一次!")elif user_guess < random_number:print("太小了,请再试一次!")else:print(f"恭喜你,猜对了!你用了{attempts}次尝试。
")breakguess_number()这个猜数字游戏的规则很简单,程序随机生成一个1到100之间的数字,然后玩家通过输入猜测的数字来与随机数进行比较。
如果猜测的数字大于或小于随机数,程序会给出相应的提示。
直到玩家猜对为止,程序会显示恭喜消息,并告诉玩家猜对所用的尝试次数。
2. 石头、剪刀、布游戏import randomdef rock_paper_scissors():choices = ['石头', '剪刀', '布']while True:user_choice = input("请选择(石头、剪刀、布):")if user_choice not in choices:print("无效的选择,请重新输入!")continuecomputer_choice = random.choice(choices)print(f"你选择了:{user_choice}")print(f"电脑选择了:{computer_choice}")if user_choice == computer_choice:print("平局!")elif (user_choice == '石头' and computer_choice == '剪刀') or \(user_choice == '剪刀' and computer_choice == '布') or \(user_choice == '布' and computer_choice == '石头'):print("恭喜你,你赢了!")else:print("很遗憾,你输了!")play_again = input("再玩一局?(是/否)")if play_again.lower() != "是" and play_again.lower() != "yes":print("游戏结束。
python少儿编程案例

python少儿编程案例一、猜数字游戏猜数字游戏是一种经典的编程案例,在这个游戏中,计算机会随机生成一个1到100之间的数字,然后玩家需要根据提示来猜出这个数字。
下面是一个简单的猜数字游戏的Python代码示例:```pythonimport random# 生成随机数num = random.randint(1, 100)# 猜数字函数def guess_number():while True:guess = int(input("请输入你猜的数字(1-100):"))if guess < num:print("猜小了!")elif guess > num:print("猜大了!")else:print("恭喜你,猜对了!")break# 游戏开始print("欢迎来到猜数字游戏!")guess_number()```在这个代码中,我们使用了random库中的randint函数来生成一个随机数,然后使用循环来判断用户输入的数字与随机数的大小关系,给出相应的提示,直到用户猜对为止。
二、小狗寻宝游戏小狗寻宝游戏是一个基于图形界面的游戏,玩家需要通过键盘控制一只小狗来寻找宝藏。
下面是一个简单的小狗寻宝游戏的Python 代码示例:```pythonimport turtle# 创建小狗dog = turtle.Turtle()dog.shape("turtle")# 隐藏小狗dog.hideturtle()# 移动小狗def move_up():dog.setheading(90)dog.forward(100)def move_down():dog.setheading(270)dog.forward(100)def move_left():dog.setheading(180)dog.forward(100)def move_right():dog.setheading(0)dog.forward(100)# 键盘事件绑定turtle.onkey(move_up, "Up") turtle.onkey(move_down, "Down") turtle.onkey(move_left, "Left") turtle.onkey(move_right, "Right")# 开始游戏turtle.listen()turtle.mainloop()```在这个代码中,我们使用了turtle库来创建一个小狗,并且定义了四个函数来控制小狗的移动方向。
Python小游戏——猜数字教程(random库教程)

Python⼩游戏——猜数字教程(random库教程)今天来开发⼀个简单的数字逻辑游戏,猜数字(数字炸弹)⾸先开发游戏第⼀件事,了解需求。
猜数字游戏规则:计算机随机⽣成⼀个指定范围的数字,由玩家来猜测,之后计算机会根据玩家提供数字来与⾃⼰⽣成的数字进⾏对⽐,并返回结果太⼤或者太⼩例:计算机随机⽣成1-100的数字53,玩家猜测为50,计算机对⽐结果后返回结果:太⼩了多次重复直到玩家猜中数字,游戏结束统计分数。
需求分析:1.计算机随机⽣成数字;2.与输⼊结果进⾏⽐较,返回太⼤太⼩结果;3.判定是否回答正确,结束游戏;3.记录分数并且输出;开发环境:python版本:IDLE 3.7开发软件:sublime_text技术⽀持:随机数在计算机应⽤中⼗分常见,在Python中,通过内置random库来实现产⽣各种分布的伪随机数序列。
random数据库通过采⽤梅森旋转算法,可⽤于除随机性要求更⾼的加密算法外的⼤多数⼯程应⽤。
简单理解,random库的作⽤就是⽣成随机数。
主要使⽤函数如下:1. random.random() random.random()⽅法返回⼀个随机数,其在[0.0,1.0)的范围之内的随机⼩数。
2. random.uniform(a,b) random.uniform()是在指定范围内⽣成随机⼩数,其有两个参数,⼀个是范围上限,⼀个是范围下限,范围为[a,b]。
3. random.randint(a,b) random.randint()是随机⽣成指定范围内的整数,其有两个参数,⼀个是范围上限,⼀个是范围下限制,范围为[a,b]。
4. random.randrange(start,stop[,step]) random.randrange()是在指定范围内,按指定基数递增的集合中获得⼀个随机数,有三个参数,前两个参数代表范围上限和下限,第三个参数是递增增量,默认为1。
5. random.choice(sep) random.choice()是从序列中获取⼀个随机元素。
三个猜数字游戏代码(Python)

三个猜数字游戏代码(Python)def binary_search(list,item):low = 0high = len(list)-1while low <= high:mid = (low + high)//2guess = list[mid]if guess == item:return midif guess > item:high = mid - 1else:low = mid + 1return Nonemy_list = [1,3,5,7,9]print(binary_search(my_list,3))print(binary_search(my_list,-1))#################猜年龄#################import randomage = random.randint(1, 10)for guess in range(1, 6): # 设置次数choice = int(input()) # 输⼊玩家猜测的年龄if choice < age: # 判读玩家输⼊的年龄是否等于正确的年龄print('⼩埋的提⽰:你猜⼩了(;´д`)ゞ。
')elif choice > age:print('⼩埋的提⽰:乃猜⼤了惹(>﹏<)~~')else:print('猜了' + str(guess) + '次,你就猜对惹~hiu(^_^A;)~~~')break# 判断猜测次数if choice == age:print('搜噶~那么⼩埋下线了~拜拜~( ̄︶ ̄)↗')else:print('哎呀~你还是⽊有猜对啊~但是你只有5次机会诶~怎么办啊~')print('那好吧~⼼软的⼩埋只好告诉你,我才' + str(age) + '岁')############# 找出最⼤值和最⼩值 #############def Min_Max(*arg):list = []flag = Truewhile flag:item = input("请输⼊数值,'ok'结束输⼊:")if item == "ok":flag = Falseelse:list.append(item)min_n = list[0]max_n = list[0]for item in list:if item < min_n:min_n = itemif item > max_n:max_n = itemreturn {"max": max_n, "min": min_n}res = Min_Max()print(res)。
python初学---猜数字游戏(游戏与AI,原创)
python初学---猜数字游戏(游戏与AI,原创)最近在学习python,并⽤python写了⼀个⼩时候玩的益智游戏,猜数字游戏,python语⾔真的是简洁啊,上来就是写代码逻辑,不⽤加⼀堆外壳的东西,话不多说,贴代码,取个名字叫guessL1.py,L1顾名思义是初级版本,就是能玩⽽已,后⾯会出个稍微⾼级⼀点的版本,加点智能化(AI)的东西。
#*********************************L1********************************import randomprint("/*******************************猜数字游戏***********************************/ \游戏规则:系统随机给出1-9的4位数字,您可以输⼊您猜测的4位数字,系统会⽐较并给予反馈,A表⽰数字对,且位置对,B表⽰数字对位置不对,如1A2B表⽰有1位您猜对了数字和位置,有2位您猜对数字,但位置不对。
您总共有6次机会,加油total='123456789'answer=random.sample(total,4)for guessTimes in range(6):guess=""for inputErros in range(3):guess=input("请输⼊4位1-9的不重复数字:")if guess.isdigit()==True and len(guess)==4:guessSet=set(guess)if len(guessSet)==4 and guessSet.isdisjoint(set('0')):breakelse:print("您没有理解游戏规则,游戏结束。
")breakA=0B=0for j in range(4):if guess[j]==answer[j]:A+=1else:for k in range(4):if guess[j]==answer[k]:B+=1if A<4:if guessTimes<5:print("%dA%dB,您还有%d次机会。
Python编程实例:猜数字游戏
用户输入:用户输 入一个数字,尝试 猜测目标数字
判断结果:比较用 户输入和目标数字 ,判断是否猜中
游戏结束:如果用 户猜中,游戏结束 ;否则,继续游戏
游戏测试与调试
测试目标:确保游戏功能正常,无明显漏洞 测试方法:手动测试、自动化测试、边界值分析等 调试工具:Python调试器、日志记录、断言等 常见问题:逻辑错误、语法错误、性能问题等 解决方案:根据问题类型,采取相应措施,如修改代码、优化算法等
06
模块与包:导入、使 用、自定义等
07
面向对象编程:类、 对象、属性、方法等
Python数据类型
• 整数:表示整数,如123、-456 • 浮点数:表示小数,如3.14、-5.67 • 字符串:表示文本,如'Hello, World!'、"Python is fun!" • 列表:表示有序的集合,如[1, 2, 3, 4, 5]、['a', 'b', 'c'] • 元组:表示不可变的有序集合,如(1, 2, 3)、('a', 'b', 'c') • 字典:表示无序的集合,如{'name': 'Alice', 'age': 30}、{'city': 'Beijing',
'country': 'China'} • 集合:表示无序的集合,如{1, 2, 3}、{'a', 'b', 'c'} • 布尔值:表示真或假,如True、False
02
Python编程进阶
猜数字游戏python课程设计
猜数字游戏python课程设计一、课程目标知识目标:1. 让学生掌握Python语言的基本语法,包括变量定义、数据类型和运算符。
2. 使学生了解并运用循环结构进行条件判断,掌握if-else语句的使用。
3. 帮助学生掌握随机数的生成方法,并运用在猜数字游戏中。
技能目标:1. 培养学生运用Python语言编写简单程序的能力,提高编程思维。
2. 培养学生利用循环和条件语句解决问题的能力,锻炼逻辑思维能力。
3. 培养学生通过编写游戏,提高动手实践和创新能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习热情,树立自信心。
2. 培养学生面对问题积极思考,主动探索,合作交流的良好习惯。
3. 培养学生遵守程序设计规范,养成良好的编程习惯,注重代码的简洁性和可读性。
课程性质:本课程为Python语言编程入门课程,以实践为主,让学生在动手编写程序的过程中掌握编程知识。
学生特点:学生处于初级阶段,对编程有一定兴趣,但缺乏实际操作经验,需要通过实践操作来提高编程能力。
教学要求:结合猜数字游戏,注重理论与实践相结合,引导学生积极参与,培养学生的编程兴趣和动手能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过本课程的学习,使学生能够独立编写简单的Python程序,为后续学习打下坚实基础。
二、教学内容1. Python基本语法介绍:变量定义、数据类型、运算符。
2. 循环结构及条件判断:for循环、while循环、if-else条件语句。
3. 随机数生成:导入random模块,使用random.randint()函数生成随机数。
4. 猜数字游戏设计:a. 设计游戏规则,明确数字范围和猜测次数限制。
b. 编写程序实现用户输入数字,程序给出提示的功能。
c. 判断用户猜测结果,给出相应的反馈。
5. 程序调试与优化:检查代码错误,提高代码可读性和运行效率。
教学内容安排和进度:第一课时:Python基本语法介绍,实践练习。
python相关案例
python相关案例案例一:猜数字游戏。
import random.# 生成一个1到100之间的随机数。
secret_number = random.randint(1, 100)print("欢迎来到猜数字游戏!我想了一个1到100之间的数字,你能猜到吗?") while True:try:user_guess = int(input("请输入你的猜测: "))if user_guess == secret_number:print("哇塞,你太厉害了,猜对了!")break.elif user_guess < secret_number:print("你猜的数字太小了,再试试大一点的吧。
")else:print("你猜的数字太大了,往小一点猜哦。
")except ValueError:print("你得输入一个整数呀,别调皮哦。
")这个游戏就像是你和电脑玩一个小秘密的挑战。
电脑先偷偷选好一个数字,就像它在心里藏了个小宝贝。
然后你开始猜,如果你猜的数字和电脑心里想的一样,那你就赢啦。
要是你猜的数字小了,电脑就会告诉你要猜大一点;要是猜大了呢,电脑就会让你猜小一点。
案例二:计算BMI(身体质量指数)height = float(input("嗨,朋友,先告诉我你的身高(单位:米): "))weight = float(input("再告诉我你的体重(单位:千克): "))bmi = weight / (height 2)if bmi < 18.5:print(f"你的BMI是{bmi:.2f},你有点偏瘦啦,要多吃点好的补一补哦。
")elif 18.5 <= bmi < 24:print(f"你的BMI是{bmi:.2f},非常棒,你的身材很健康呢。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用Python设计猜数游戏
作者:
来源:《电脑报》2018年第42期
猜数游戏是一个很经典的例子,要开发一个完整的猜数游戏,需要用到编程中的变量、循环、分支,获取用户输入等基本知识,还要对逻辑运算有一定的了解。
本文将会带领大家实现这样一个小游戏,游戏开始后,让用户猜数字,如果数字大于或者小于目标数字将会给出提示,如果猜对了就让用户选择是否继续玩下去,如果选择继续,开始新一轮游戏,否则游戏结束;同时用户每猜对一次得5分。
分解
各国在中小学引入编程教育,更多的是让孩子们以计算机的方式来考虑问题,培养逻辑思维能力和编程思维,并非要把所有人都培养成程序员。
编程思维是一个非常重要的概念,含义是将大的问题分解成小的问题,然后逐步解决每个小问题,最后解决整个问题。
那么我们就把这个任务分解为以下步骤:用一个变量保存用户的积分,生成目标数,在猜数游戏中目标应该是随机的,同时保存在变量中;提示用户猜测数字,获取用户输入,并保存在变量中,判断用户输入,给出适当的反馈;如果用户猜对了,加5分,询问是否继续;如果用户选择继续,重复1-5步,否则游戏结束。
下面我们按照这个思路来实现这个程序。
积分变量
首先我们要新建一个变量(图1),保存分数,并且初始化为0分。
新建score变量,变量值设置为9。
从现在开始我们就要感受到Python的简洁之美了,在Scratch我们新建积分变量并设定为0,需要好几步操作,而在Python中只需要一句命令就好了:score = 0。
这也是高级语言的特点,Python作为高级语言,代码量可以说是Java的十分之一,C语言的百分之一。
当然对于初学者来说还是比较容易理解,新建积分变量之后,我们就要生成要猜测的目标数字了。
目标数字是个随机数,是一定范围之内的随机数,所以我们先来看Scratch和Python都是怎么生成随机数的:Scratch随机数积木块。
这次Python就需要费点脑筋了,Python有许多别人写好的完成特定功能的代码,成为代码库,生成随机数的代码库叫做random,换句话说我们要用生成随机数的功能,就需要引入random库,然后库中有函数,调用对应的函数就可以完成相应的功能。
我们要用到的是randomint()函数,比如生成1-10的随机整数就是randomint(1,10)。
背景交代完毕,下面我们就上手来实现生成随机数:target变量(图2),然后把target 的值设定为1到10之间的随机数。
接下来,我们看Python是如何实现的(图3)。
现在,积分变量也有了,也生成要猜测的数字了,接下来就要提示用户猜数字了,用户不输入数字也就没得玩了,不过似乎可以写一个猜数的机器人,用随机数来猜测,这又是另外一个程序了。
获取用户输入
我们还是以Scratch为例进行讲解,在Scratch获取用户输入要用到侦测代码分类中的两个代码块:得到用户的输入和获取用户输入(图4)。
当然我们需要新建一个变量,并把用户的代码块放到这个变量里。
而Python中则要用到input()函数,但是有一点要注意的是,input()函数读入的数据的类型是字符串类型,需要转换成整数,而将字符串转换为整数要用到int()函数,当然一个严格程序这里还需要对输入进行验证的,这个等你熟悉了Python之后可以自行完成。
在这里我们就要用到分支结构了,所谓分支结构简单地来说就是满足某个条件的时候做某个事情,比如你高考分数大于700分,只要你运气不是特别被差,基本就能去北大清华了;而如果天气预报说明天下雨的话,十有八九你是会选择带伞出门的,毕竟有的人喜欢淋雨。
这里我们就要进行判断,如果用户输入的大于目标数,就提示大了,否则提示小了,这里要用到控制模块中的分支模块(图5)。
同时还会用到数字和逻辑运算分类中的比大小(图6),这里涉及了逻辑运算和分支结构两个知识点,大家还记得吗?
猜数程序结构
用户第一次输入的时候,会判断用户输入的数,也就是猜的数跟目标数字孰大孰小,如果大了就会提示“大了”,如果相等就恭喜,如果小了,就提示“你猜的数太小了”,问题是实际猜测中很难一次就猜中的,所以我们需要反复不停地猜测,如果猜错了就要重新获取用户的输入,一直到猜对(图7)。
再往下就要用到循环了,循环猜测的过程,我们先不讲,回过头来讲Python如何实现这一步。
首先Python的语法呢,比较有意思,没有万恶的大括号,但是有固定的缩写,虽然Tab 党和空格党有一场世纪之战,但是作为空格的拥趸,大家跟我一样用空格就好了。
Python中if 语句的格式是(图8):
注意到了吗?expr和else后面的语句是有四个空格的,同时冒号是必不可少的,expr代表的是逻辑表达式,关于逻辑表达式呢,随便找一本关于编程的书都能够讲个七八页,简单地说就是大小相等的判断,这就是判断猜的数和目标数的大小(图9)。
猜数字
这个时候已经可以猜数了,但是只有一次机会,一次之后即便你读取了用户猜的数字,你也没有反馈的机会,这样的游戏肯定是不完整的,怎么办呢?日常生活中,我们会说把课文抄10遍,我们就知道需要重复执行抄课文10次,那么在Scratch是有循环的结构的。
当然如果你想限制猜测的次数可以用这个,如果在规定的次数内没有猜到,就扣分,这也可以,然而这里我们想做的是让用户不停地猜测直到猜对为止。
比如隔壁村的王二狗跟俺们村的李翠花约定,在湖边见面不见不散,那么王二狗只能一个人孤零零地在湖邊等着,直到俺们村的李翠花到了湖边,也就是说只有满足了某个条件,才会执行。
在这里就是重复执行,直到猜对了或者说在没有猜对的情况下,会让玩家一直猜猜猜。
接下来我们继续完善我们的程序,看看图10的程序,我们做了改动,用户第一次猜测之后,就会判断guess_number与target是否相等,如果不相等,就会进入里面的判断,判断结束后引导用户再猜,直到猜对为止。
然后我们来看Python要怎么做:这里用到了while循环,只要条件成立,就一直做,图11是代码。
这里就要再次询问读者,基本的功能已经完成了,后面可以完善成为完整的猜数游戏了。
你会考虑如何改动呢?在实际中来试试吧。