python和系统猜数字做的猜数字小游戏程序怎么发送给别人?

Python 制作一个猜字游戏
Python 制作一个猜字游戏
Python制作猜字游戏主要思路如下:程序自身通过随机数模块生成一个随机的整数进入游戏循环,不断的要求用户输入一个整数如果猜的比程序生成的整数大或小,通过输出函数提示如果猜的次数大于6次,游戏推出循环并给出真确答案如果在六次之内才对了,程序也推出程序中涉及的Python知识点:随机模块:需要先导入random这个随机数模块,python自带,直接导入即可使用random.randint(start,end)函数来生成start到end之间(包括两个边界值)的随机整数输入输出函数:print()函数将向控制台打印信息input()函数,将用于接收用户键盘输入的信息,换回一个字符串str()函数将传入的参数转化为一个字符串,int()函数将可以将字符串形式的整数例如'12'转化成整数 12字符串可以通过加号 & + & 来进行连接,换回一个新字符串异常处理:try和except语句try后面跟上需要检测的语句,如果有异常(无论什么异常,本例子中如果用户输入的不是一个整数,将会触发一个异常)则跳转执行except下的语句。代码如下:猜字游戏完整代码
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
百家号 最近更新:
简介: 你需要的应用和前景
作者最新文章游戏规则:
1.随机产生1到100之间的整数2.共有3次猜测机会,每次猜测如果不正确会提示大于或小于目标值,3次机会用完退出程序3.三次机会,包含第3次机会如果猜中,提示用户猜中4.如果用户输入不合法需要有提示并重新输入
代码如下:
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
4 # @Author
5 # @Email
: 猜字谜.py
7 # @Software: PyCharm
8 import random
9 print("########
猜数字小游戏
#########")
<span style="color: # print("#
1.开始游戏
2.任意键退出游戏
<span style="color: # print("#
注:猜错三次游戏自动退出.
<span style="color: # print("##################################")
<span style="color: # put = input("请输入:")
<span style="color: # if put == "<span style="color: #":
<span style="color: #
number = 3
<span style="color: #
secret = random.randint(1, 100)
<span style="color: #
while number & 0:
<span style="color: #
temp = input("不妨猜一下我现心里想的数字是几:")
<span style="color: #
temp2 = temp.strip()
<span style="color: #
if temp2.isdigit():
<span style="color: #
temp1 = int(temp2)
<span style="color: #
if temp1 ==secret:
<span style="color: #
exit("哼,我心里想的数是%s,你居然猜中了,猜中也没有奖励^_^ 游戏结束!"%secret)
<span style="color: #
elif number == 1:
<span style="color: #
exit("没想到你那么笨三次机会都没有猜到!不妨告诉你,我心理想的数字是:%s" % (secret))
<span style="color: #
elif temp1 & secret:
<span style="color: #
print("我心想的数字比%s小,还是剩%s次机会"%(temp1,number-1))
<span style="color: #
<span style="color: #
print("我心想的数字比%s大,还是剩%s次机会"%(temp1,number-1))
<span style="color: #
<span style="color: #
print("Error:'%s'不是一个数字,请输入一个整数" % temp)
<span style="color: #
number += 1
<span style="color: #
number -= 1
<span style="color: #
<span style="color: #
<span style="color: # else:
<span style="color: #
exit("退出游戏成功!")
执行结果:
阅读(...) 评论()和普通的python猜数字游戏不同,用户选择数字,电脑猜,如何编写程序?_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
和普通的python猜数字游戏不同,用户选择数字,电脑猜,如何编写程序?
例如,在1-100的范围内,用户随机决定一个数字如25. 在编程的过程中数字25并不会被编入程序中。电脑在1-50的范围内进行猜数(减少猜数空间), 用户输入L为Too Low, 输入H为Too High。当电脑猜到数字25时,用户输入C为correct answer。随后显示’That&#039;s it. ...
我有更好的答案
&&&&&elif&nbsp.&after&7&1&&&&&&&&&&&&if&lpe234&#39;def&&&93你输入的数字是;not&num.isdigit():&&&&&&&&&&&&continue&&&&&&&&times&&&&&&&&&&gt:&&88l你输入的数字是:&&&94h你输入的数字是;&&93cThat&#39;tags&:&&&&main()/usr/bin/python&/Users/lpe234/PycharmProjects/untitled/x;&&&&#39;h&#39;;&&请输入一个&1-100&&&&&#39;__main__&#39;raw_input(u&#39;&&&&nbsp.lower()&==&&#39;&&&nbsp:&.format(ranges[len(ranges)/2]))&&&&&&&&&&&&times&nbsp不难吧;continue&main():&&&&ranges&=&&ranges[len(ranges)/2:]&&&:&&&&&&&&&&&&&&&&print(u&#39;That\&#39;s&&nbsp:&nbsp:&&&101)&==&&&c&#39;&=&0&s&ranges&nbsp:&&nbsp。转化一下思想就好了;__name__&nbsp:&&&+=&tries请输入一个&==&&&的数字;&while&T&#39;)&&&tries&#39;&&&&&&&=&raw_input(u&#39;你输入的数字是:&&&{}&#39.lower()&==&&#39;range(1;&nbsp.py请输入一个&1-100&的数字;&&&&&&tags.lower()&91l你输入的数字是:&&&92l你输入的数字是;You&got&&nbsp:&while&T&nbsp:&{}&&&&&it.&You&&nbsp:&nbsp。#&it&num&=&utf-8&-*-__author__&nbsp,&:&&&&&&&&&&&&&&&&ranges&=&&=&ranges[:len(ranges)/2]&&&&&&&&&&&&&&&&continue&&&&&&&&&&&&elif&&&l&#39;&&&&=&&#39;&&nbsp:&&&&if&&&51l你输入的数字是:&&&76l你输入的数字是;.format(times))&&&&&&&&&&&&&&&&breakif&&got&it&after&&-*-&coding
这个是电脑在一定范围内随机猜数,用户判断高低。例如:(我没法在划定猜数范围的同时编写if statement。我都写乱了。到最后用户都无法自由输入字母确定数字高低或正确了。。那个,能再教教我不?谢谢啦!)
这个简答,使用& [].index(&#39;x&#39;) 查找 &#39;x&#39;在列表中的位置#&-*-&coding:&utf-8&-*-from&random&import&choice__author__&=&&#39;lpe234&#39;def&main():&&&&ranges&=&range(1,&101)&&&&while&True:&&&&&&&&num&=&raw_input(u&#39;请输入一个&1-100&的数字:&&&&#39;)&&&&&&&&if&not&num.isdigit():&&&&&&&&&&&&continue&&&&&&&&times&=&0&&&&&&&&while&True:&&&&&&&&&&&&guess_num&=&choice(ranges)&&&&&&&&&&&&tags&=&raw_input(u&#39;你输入的数字是:&&&{}&#39;.format(guess_num))&&&&&&&&&&&&times&+=&1&&&&&&&&&&&&if&tags.lower()&==&&#39;l&#39;:&&&&&&&&&&&&&&&&ranges&=&ranges[ranges.index(guess_num):]&&&&&&&&&&&&&&&&continue&&&&&&&&&&&&elif&tags.lower()&==&&#39;h&#39;:&&&&&&&&&&&&&&&&ranges&=&ranges[:ranges.index(guess_num)]&&&&&&&&&&&&&&&&continue&&&&&&&&&&&&elif&tags.lower()&==&&#39;c&#39;:&&&&&&&&&&&&&&&&print(u&#39;That\&#39;s&it.&You&got&it&after&{}&tries&#39;.format(times))&&&&&&&&&&&&&&&&break请输入一个&1-100&的数字:&&&23你输入的数字是:&&&55h你输入的数字是:&&&46h你输入的数字是:&&&14l你输入的数字是:&&&33h你输入的数字是:&&&19l你输入的数字是:&&&26h你输入的数字是:&&&20l你输入的数字是:&&&22l你输入的数字是:&&&23cThat&#39;s&it.&You&got&it&after&9&tries
采纳率:56%
来自团队:
为您推荐:
其他类似问题
猜数字游戏的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 9, 距离下一级还需 191 积分
论坛徽章:0
Screen04.png (138.53 KB, 下载次数: 2)
11:52 上传
Screen02.png (136.32 KB, 下载次数: 3)
11:52 上传
Screen01.png (133.74 KB, 下载次数: 0)
11:52 上传
现在基本已经做完了 但是每次猜词之后 下边的 正确数/7 correct要怎么做?就是告诉玩家正确字符数
如果要自己def一个方程用for循环的话要怎么做?
2.PNG (16.09 KB, 下载次数: 3)
11:55 上传
是这样先分成三种情况么
下边是自己应经做的代码
#This is a hacking program
CorrectAnswer='HUNTING'
def displayInstruction(): #Displays instructions
& & & & print('A group of possible passwords will be displayed.')
& & & & print('You must guess the password.You have at most 4 guesses.')
& & & & print('your guess were in exactly the correct location of the passwrod.')
def displaywords(): #Displays words
& & & & for word in words:
& & & & & & & & print(word)& && && &&&& & & &&&
words=['PROVIDE','SETTING','CANTINA','CUTTING','HUNTERS','SURVIVE',\
& && & & & & & 'HEARING','HUNTING','REALIZE','NOTHING','OVERLAP','FINDING',\
& && & & & & & 'PUTTING']
displayInstruction()
displaywords()
while guesses&0:
& && &&&playsAnswer=input('Enter password '+str(guesses)+' guesses remaining& ')
& && &&&if playsAnswer==CorrectAnswer:
& && && && && & print('User login successful')
& && && && && & break
& && &&&else:
& && && && && & if guesses&=1:
& && && && && && && && &print('Password Incorrect')
& && && && && && && && &guesses = guesses - 1
& && && && && & if guesses==0:
& && && && && && && && &print('User login unsuccessful')
稍有积蓄, 积分 261, 距离下一级还需 239 积分
论坛徽章:0
def compare(CorrectAnswer,playsAnswer):
& & return len(filter(lambda i:i[0]==i[1], zip(CorrectAnswer, playsAnswer)))复制代码
白手起家, 积分 21, 距离下一级还需 179 积分
论坛徽章:0
&&我得先说一下,这个游戏的规则我不清楚我是按我的理解写的。
我理解的规则:我输入的字符,中出现了正确答案中的字符就算是对的,比如就是正确答案是abc&&我输入的是cab 也会返回3/3 这样的情况,证明我的字母对了但是顺序有误。
按照以上规则
& & if CorrectAnswer.count(pl) & 0: result+=1 遍历一下我输入的字符串,计算其中每一个字符在正确结果中的出现次数,大于0 就是代表出现过,计算一个结果数就好了。
ps:规则可能不是我理解的,所以仅供参考
白手起家, 积分 9, 距离下一级还需 191 积分
论坛徽章:0
再问下。。。具体是哪个步骤是用来比较两组代码的字符是否相等的。。。回复
白手起家, 积分 9, 距离下一级还需 191 积分
论坛徽章:0
嗯啊 万分感谢!
白手起家, 积分 21, 距离下一级还需 179 积分
论坛徽章:0
1、len() 使计算长度的,可以计算列表、元祖、字典、字符串等,但是不能计算整数
2、&%s& 格式化字符串&&具体怎么用你百度就可以了
白手起家, 积分 9, 距离下一级还需 191 积分
论坛徽章:0
赵大班长 发表于
def compare(CorrectAnswer,playsAnswer):
& & result = 0
& & for pl in playsAnswer:
谢谢回复~做下个版本的时候试着去加下大小写
再请问下result = &%s/%s correct.& % (result,len(CorrectAnswer))这一句里边&&&%s/%s correct.& %是什么意思。。。还有len是什么意思。。。
白手起家, 积分 21, 距离下一级还需 179 积分
论坛徽章:0
def compare(CorrectAnswer,playsAnswer):
& & result = 0
& & for pl in playsAnswer:
& && &&&if CorrectAnswer.count(pl) & 0: result+=1
& & result = &%s/%s correct.& % (result,len(CorrectAnswer))
& & return result
个人建议:
1、猜字游戏的大小写是不是应该处理一下,小写输入也应该可以支持吧;
2、应该使用 raw_input 如果使用input 需要“21313”这样输入
白手起家, 积分 9, 距离下一级还需 191 积分
论坛徽章:0
前边三张图是这个游戏最后应该出来的效果图。。。
您需要登录后才可以回帖
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处用python写一个猜数字的小游戏
经常会有人玩猜数字游戏,就是我选一个数字看谁能猜到,玩法简单男女老少皆宜。那么用python怎么来玩这个呢?今天就简单写一个小脚本,让你跟电脑玩猜数字游戏,一看就是屌丝啊!
1.电脑先选定一个数字,然后你在输入一个数字,如果猜中数字比设定的数字要大输出'too big',要是小的话输出‘too
small’,要是猜中的话输出‘yes,you are right answer!’
computer = 25
you = int(raw_input('please input a number:'))
if you & computer:
& & print 'too big'
elif you & computer:
& & print 'too small'
& & print'yes,you are right answer!'
PS:这个用到了简单的IF语句来判断。
输入我用了int(raw_input),因为raw_input默认输入的都是字符串,加上int表示输出的数字,或者可以直接用input也可以的。
2.上面是我们只能猜一次游戏就结束了,现在改进下只有你猜中数字了猜数字游戏才结束。
computer = 25
while True:
&you = int(raw_input('please input a
number:'))
& if you & computer:
& & & print '%d
is too big' %you
& elif you & computer:
& & & print '%d
is too small'%you
print'yes,you are right ,the answer
is %d!' %you
PS:用到了while循环,设置为真,直到符合条件了即猜中数字了就break,跳出程序。
3.前面两个都是我们事先给定了一个数字,这还不是真正的猜数字,那么我们事先不知道电脑选了是什么数字改怎么猜呢?其实也很简单就是加一个随机选择模块,让电脑自己随机选择一个数字。
from random import randint
computer = randint(1,100)
while True:
= int(raw_input('please input a number in 1-100:'))
& print '%d is too big' %you
elif you &
& print '%d is too small'%you
& print'yes,you
are right ,the answer is %d!' %you
OK,整个程序结束。
random随机选择模块
random.randint(a,b)随机选择整数,a是下限,b是上限。
这样一个猜数字游戏小程序就基本完形了,跟平时玩的差不多了。其实猜100以内的数字最多只要7步就能猜出,只要是按照对半去猜就可以了!
嗯,其实这些很多都是在网上跟别人学的,初学还是有很多不知道。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 python3猜数字游戏 的文章

 

随机推荐