想用python,做一个猜数游戏,实现人机 语音 互动 软件互动

python(6)
改写小游戏,实现
共有3次机会尝试不同次数回答正确的以及3次都不能正确的提示不同
print(&------------biolxy---------------&)
temp = input(&猜一下我心里想的是那个数:&)
guess = int(temp)
while (guess !=8) and (times & 0):
print(&剩余次数& ,times)
guess = int(temp)
if guess == 8 and times ==1:
print(&卧槽,这都能猜中&)
if guess ==8 and times != 0:
print(&勉强算过了&)
if guess & 8:
print(&不对,不对,大了大了!&)
times = times - 1
print(&哎哎,又小了小了&)
times = times -1
temp = input(&猜错了,再来一次吧:&)
if times ==2:
print(&咱俩心有灵犀啊,一下就猜对了^_^!&)
print(&游戏结束,再见!&)
如果在前面插入一下代码 ,
import random
secret = random.randint(1,10)
再把所有的8 替换为secret ,就可以实现 答案是随机数,每次都不一样
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:7834次
排名:千里之外
原创:41篇
转载:21篇
(1)(2)(7)(18)(28)(4)(1)(2)一个python编程初学者入门案例-猜数游戏
python基本功练习案例,涉及流程控制、文件I/O、模块使用(保存代码为game.py,在装有python3解释器的系统相应目录下运行python game.py)# -*- coding: UTF-8 -*-'''一个python编程基本功案例-猜数游戏Created on 日@author: yxkj'''from random import randintimport osimport datetimegame_times=0#游戏次数min_times=0#历次游戏最小多少轮猜对total_times=0#历次游戏总共猜的轮数game_save_file=&d:&+os.sep+&game.txt&scores={}#用字典保存不同玩家的记录if os.path.exists(game_save_file):
print(&请输入您的玩家名称:&)
player=input()
f=open(game_save_file,'r')
lines=f.readlines()[1:]#文件第一行是时间
for line in lines:
s=line.split()
scores[s[0]]=s[1:]
score=scores.get(player)
if score is None:
score=[0,0,0]
game_times=int(score[0])
min_times=int(score[1])
total_times=int(score[2])else:
print(&游戏文件已丢失!请先创建游戏记录保存文件&+game_save_file)
if game_times&0:
avg_times=float(total_times)/game_times#平均猜对的轮数else:
avg_times=0print(&**********猜数游戏(1-100)*********&)print(&%s,您已经玩了%d次,最少%d轮猜出答案,平均%.2f轮猜出答案&%(player,game_times,min_times,avg_times))starttime=datetime.datetime.now()timelabel=starttime.strftime(&%Y-%m-%d %H:%M:%S %p/n&)num=randint(1,100)#电脑随机产生一个数times=0#记录本次游戏猜的轮数print(&Guess what I think?&)bingo=Falsewhile
not bingo:
ans=int(input())
if ans&num:
print(&too small!&)
elif ans&num:
print(&too big!&)
print(&Bingo!&)
bingo=True#猜对即退出游戏,并保存游戏记录到本地if game_times==0 or times&min_times:#如果是第一次玩或者是times小于历史记录则更新
min_times=timestotal_times+=times#游戏总轮数增加game_times+=1#游戏总次数增加scores[player]=[str(game_times),str(min_times),str(total_times)]res=&&#本例的做法是把全部玩家的记录覆盖一遍for i in scores:
line=i+& &+& &.join(scores[i])+&/n&
res+=lineres=timelabel+resf=open(game_save_file,'w')f.write(res)f.close()
最新教程周点击榜
微信扫一扫python 猜数字游戏
这里来写一个python猜数字的游戏。
#coding:utf-8
import random
real_num = random.randrange(10)
retry_count = 0
while retry_count &= 2 :
guess_num = raw_input(&Please guess the real num:&).strip()
if len(guess_num) ==0:
if guess_num.isdigit() :
guess_num = int(guess_num)
print &you need input a integer instead of string&
if guess_num & real_num:
print &Wrong! you need try smaller!&
elif guess_num & real_num:
print &Wrong! you need try bigger!&
print &Congratulations! you got it!&
retry_count +=1
print &The real num is&,real_num
/*继续,来说明一下这个脚本。先载入一个random模块。
将real_num赋值,10以内的数字。
定义一个退出的方法,如果retry_count =1 就退出while循环执行后面的else了
retry_count 定义用户最多 可以输入3此,因为是从0开始计算的。
定义一个guess_num,让用户输入
判断用户输入的不为空,如果为空就countinue
如果用户输入的值,不是数字,则转换为数字,并告诉用户让他输入数字。
如果用户输入的guess_num大于 或 小于 real_num,返回对应的print
real_num 在最上面,我们定义的这是个10以内的值。还记得吧
guess_num为用户输入的值。
不大于也不小于,那么就执行else 告诉用户 就是这个数字了。
循环到这里retry_count +=1 整个过程 执行了 1 次,用户最多可以执行3次。
在最后,如果用户3次循环完了,还没有猜中,那么执行 最后一个else,最后一个else在最外层。
来优化一下。
#coding:utf-8
import random
real_num = random.randrange(10)
retry_count =0
while retry_count &=2:
guess_num = int(raw_input(&Please guess the real num:&))
if guess_num & real_num:
print &Wrong! your need try smaller!&
elif guess_num & real_num:
print &Wrong! your need try bigger!&
print &You guessed it!&
retry_count +=1
print &The real num is :&,real_num
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'

我要回帖

更多关于 人机互动游戏机 的文章

 

随机推荐