鱼C论坛

 找回密码
 立即注册
查看: 4305|回复: 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)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-26 13:41:53 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-26 14:07:43 | 显示全部楼层
看一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 14:19:30 | 显示全部楼层
那么你为什么要隐藏内容
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 15:21:36 | 显示全部楼层
既然让大家看,为啥非要回复才能看呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 15:25:05 | 显示全部楼层
这个游戏一点都不好玩
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 15:46:42 | 显示全部楼层
回复
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-26 16:06:36 | 显示全部楼层
6666666666666666666666
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 16:50:26 | 显示全部楼层
我最近也在学这个
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 17:25:58 | 显示全部楼层
学习学习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 17:35:06 | 显示全部楼层
。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-26 18:06:59 | 显示全部楼层
让大家看为什么要隐藏
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 18:52:04 | 显示全部楼层
看看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-26 21:40:01 | 显示全部楼层
既然叫我们改进了,那为什么还要隐藏内容?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

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

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

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

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

  22. def yes(event=None):
  23.                 global degree
  24.                 error = False
  25.                 try_number = var2.get()
  26.                 if int(try_number) == number:
  27.                                 num_guess()                             
  28.                 else:
  29.                                 if try_number == "":
  30.                                                 l.config(text="提示:输入错误!", font=("微软雅黑", 12))
  31.                                                 error = True
  32.                                 elif 0 > int(try_number) or int(try_number) > 1000:
  33.                                                 l.config(text="提示:输入的数字必须介于1~1000!", font=("微软雅黑", 10))
  34.                                                 guess.delete(0, END)
  35.                                                 error = True
  36.                                 elif int(try_number) < number:
  37.                                                 l.config(text="提示:您输入的数字小了!", font=("微软雅黑", 12))
  38.                                                 var2.set("")
  39.                                 else:
  40.                                                 l.config(text="提示:您输入的数字大了!", font=("微软雅黑", 12))
  41.                                                 var2.set("")
  42.                 if not error:
  43.                                 degree += 1
  44.                                 var.set("尝试次数:"+ str(degree))

  45. def play():
  46.     global root
  47.     global var2
  48.     global number
  49.     global l
  50.     global degree
  51.     global var
  52.     global test
  53.     global guess
  54.     root = Tk(className="猜数字游戏")
  55.    
  56.     test = root.register(check)
  57.    
  58.     l = Label(root, text="", font=("微软雅黑", 10))
  59.     l.grid(row=1, column=0, sticky=W)
  60.     l.config(text="提示:请输入数字", font=("微软雅黑", 12))

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

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

  75. if __name__ == "__main__":
  76.     play()
复制代码

大家也帮我看看......
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2019-7-27 13:21:25 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-27 14:19:17 From FishC Mobile | 显示全部楼层
厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-27 15:46:27 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-27 15:58:49 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-7 18:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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