鱼C论坛

 找回密码
 立即注册
查看: 3834|回复: 27

[新人报道] 根据课本内容做了一个猜数字小游戏,麻烦各位给点建议

[复制链接]
发表于 2019-7-11 16:25:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 kungfupd 于 2019-7-11 16:30 编辑

自己花了点时间看了前4章节的内容,然后根据学到的只是自己重新做了猜数字小游戏,请各位帮我看看,哪里需要改进,谢谢!
number1=int(input('请输出“猜数字”游戏范围最高限值:'))
number5=1
n=number1//10
import random as r
number2=r.randint(number5,number1)
i=0
while i<n:
      i +=1
      number4=int(input('请输入你猜的数字:'))
      if number4==number2:
          if i<=n*0.8:
             print('你太厉害了,如神一般')
             print('你只猜了'+str(i)+'次就猜到了')
             print('等等有惊喜')
             break
          else:
             print('你太渣了!')
             print('你居然猜了'+str(i)+'次才猜到了')
             print('等等有惊喜')
             break
      elif number4<number2:
            if number4<number1:
                print('没有猜对,数字在'+str(number4)+'-'+str(number1)+'之间!')
                number5=number4
            else:
                print('没有猜对,数字在'+str(number1)+'-'+str(number4)+'之间!')
                number5=number4         
      elif number4>number2:
            if number5<number4:
                print('没有猜对,数字在'+str(number5)+'-'+str(number4)+'之间!')
                number1=number4
            else:
                print('没有猜对,数字在'+str(number4)+'-'+str(number5)+'之间!')
                number1=number4  
      continue
else:
    print('你太蠢了,猪都比你聪明')
import time
money=(n-i+1)*10
time.sleep(1)
print('恭喜你获得'+str(money)+'点云积分')
time.sleep(3)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-26 13:41:53 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-26 14:07:43 | 显示全部楼层
看一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 14:19:30 | 显示全部楼层
那么你为什么要隐藏内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 15:21:36 | 显示全部楼层
既然让大家看,为啥非要回复才能看呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 15:25:05 | 显示全部楼层
这个游戏一点都不好玩
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 15:46:42 | 显示全部楼层
回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-26 16:06:36 | 显示全部楼层
6666666666666666666666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 16:50:26 | 显示全部楼层
我最近也在学这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 17:25:58 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 17:35:06 | 显示全部楼层
。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-26 18:06:59 | 显示全部楼层
让大家看为什么要隐藏
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 18:52:04 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-26 21:40:01 | 显示全部楼层
既然叫我们改进了,那为什么还要隐藏内容?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 21:41:53 | 显示全部楼层
本帖最后由 一个账号 于 2019-7-26 21:43 编辑

我自己也编了一个:
from tkinter import *
import random

def check(content):
                return content.isdigit()

def regulation(event=None):
                root = Tk(className="规则")
                test = "规则:输入一个1~1000的数字,如果用户输入的数字和计算机从1~1000之内的随机数相符,并且尝试次数要小于20次,则游戏胜利,否则游戏失败。"
                Message(root, text=test, font=("微软雅黑", 12)).pack(padx=5, pady=5)

def exit(event=None):
                root.destroy()

def num_guess():
                if degree <= 5 :
                                l.config(text="5次以内就答对了!你的运气很高!")
                elif degree <= 10:
                                l.config(text="10次以内就答对了,你的运气较高!")
                elif degree <= 15:
                                l.config(text="15次以内就答对了,你的运气中等!")
                elif degree <=20:
                                l.config(text="20次以内能答对,你的运气较低!")
                else:
                                l.config(text="尝试次数超过20次,游戏结束!")

def yes(event=None):
                global degree
                error = False
                try_number = var2.get()
                if int(try_number) == number:
                                num_guess()                             
                else:
                                if try_number == "":
                                                l.config(text="提示:输入错误!", font=("微软雅黑", 12))
                                                error = True
                                elif 0 > int(try_number) or int(try_number) > 1000:
                                                l.config(text="提示:输入的数字必须介于1~1000!", font=("微软雅黑", 10))
                                                guess.delete(0, END)
                                                error = True
                                elif int(try_number) < number:
                                                l.config(text="提示:您输入的数字小了!", font=("微软雅黑", 12))
                                                var2.set("")
                                else:
                                                l.config(text="提示:您输入的数字大了!", font=("微软雅黑", 12))
                                                var2.set("")
                if not error:
                                degree += 1
                                var.set("尝试次数:"+ str(degree))

def play():
    global root
    global var2
    global number
    global l
    global degree
    global var
    global test
    global guess
    root = Tk(className="猜数字游戏")
    
    test = root.register(check)
    
    l = Label(root, text="", font=("微软雅黑", 10))
    l.grid(row=1, column=0, sticky=W)
    l.config(text="提示:请输入数字", font=("微软雅黑", 12))

    number = random.randint(1, 1000)
    degree = 0

    var = StringVar()
    var.set("尝试次数:"+str(degree))
    Label(root, text="请输入一个1~1000之内的数字:", font=("微软雅黑", 11)).grid(row=0)
    var2 = StringVar()
    guess = Entry(root, textvariable=var2, width=20, validate="key", validatecommand=(test, "%P"))
    guess.grid(row=0, column=1)
    Label(root, textvariable=var, font=("微软雅黑", 11)).grid(row=1, column=1, sticky=E)
    Button(root, text="确定", width=10, command=yes).grid(row=2, column=0, sticky=W, columnspan=2)
    Button(root, text="规则", width=10, command=regulation).grid(row=2, column=1, columnspan=2)
    Button(root, text="退出", width=10, command=exit).grid(row=2, column=3, sticky=E, columnspan=2)
    guess.bind("<KeyPress-Return>", yes)
    guess.focus_set()

if __name__ == "__main__":
    play()
大家也帮我看看......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 21:50:39 | 显示全部楼层
我觉得你这个程序有点儿不切合实际,如果你猜1~10,如果第一次没猜中就完了,我觉得至少要给3次机会。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-27 13:21:25 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-27 14:19:17 From FishC Mobile | 显示全部楼层
厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-27 15:46:27 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-27 15:58:49 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 19:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表