求助!求助(顺利解决有奖)
本帖最后由 mzxay 于 2020-4-15 10:27 编辑废话少说,先上代码:
from tkinter import *
from tkinter import messagebox as g
import random
root = Tk()
root.title("猜数字")
root.geometry("250x150")
shu = random.randint(1, 100)
def ti_jiao():
a_g = int(a.get())
if a_g == shu:
g.showinfo('正确', '恭喜你答对了')
else:
if a_g > 100:
g.showinfo('输入错误','请输入1~100的整数')
if a_g > shu and a_g < 100 :
g.showinfo('错误', '你猜大了')
elif a_g < shu:
g.showinfo('错误', '你猜小了')
Label(root, text = '1~100选一个数', bg = 'yellow', fg = 'blue',
font = ('华文行楷', 15)).place(x = 50, y = 0)
a = Entry(root, bg = 'yellow', fg = 'blue', font = ('华文行楷', 15))
a.place(x = 20, y = 50)
b = Button(root, text='提交', bg = 'yellow', fg = 'blue', font = ('华文行楷', 15), command = ti_jiao)
b.place(x = 80, y = 90)
root.mainloop()
要求:
1、让用户只有五次猜测机会;
2、如果用户才对后点击确定,将自动退出程序
3、五次没才对将打印:表格一:恭喜你才对了,但当用户点击确定后,再次弹出提示框,打印较大字体:个屁。用户点击确定后也将自动退出程序。
觉得鱼币不够可以加……………… 我来我来~~~
from tkinter import *
from tkinter import messagebox as m
import random
root = Tk()
root.title("猜数字")
root.geometry("250x150")
TIME = 0
answer = random.randint(1,100)
def check():
eg = int(en.get())
global TIME
TIME += 1
if TIME > 5:
m.showinfo('正确','恭喜你答对了')
m.showinfo('个屁','个屁')
root.destroy()
elif eg == answer:
m.showinfo('正确','恭喜你答对了')
root.destroy()
elif (eg > 100)or(eg < 1):
m.showinfo('输入错误','请输入1~100的整数')
elif eg > answer:
m.showinfo('错误','你猜大了')
elif eg < answer:
m.showinfo('错误','你猜小了')
la = Label(root,text='1~100选一个数',font=('华文行楷',15))
la.place(x=50,y=0)
en = Entry(root,font=('华文行楷',15))
en.place(x=20,y=50)
bu = Button(root,text='提交',font=('华文行楷',15),command=check)
bu.place(x=90,y=90)
root.mainloop()
这是我写的{:10_256:}
1你这里少了一次判断(就是if a_g > 100这句)
2你12--20行写得不够简洁,应该用elif
3标准对话框不能设置字体大小
4关于次数的话,最好不要用while,我试过,它会重复五次弹出对话框{:10_266:} ,然后就没有机会再试了
5对于TIME而言,你应该可以不像我这样做,你可以在函数里面定义,也不用global 本帖最后由 会计的会怎么念 于 2020-4-15 11:06 编辑
1. while循环外加计数器或者for循环五次
2. 条件判断加break,如果是结束函数体就用return
3-1. 我建议使用while···else···,
- else下的代码,将在while循环结束时且while循环条件为False时执行一次,
- 它属于while循环体内的,所以break不会执行else下的句块。
- 具体可以看《流畅的Python》,直接网上查一查也可以.
- for···else···类似。
- 我记得小甲鱼好像也讲过。
3-2. 也可以使用if然后break。
4. GUI我不会,思路就是这样。还有作业尽量自己做。 会计的会怎么念 发表于 2020-4-15 11:04
1. while循环外加计数器或者for循环五次
2. 条件判断加break,如果是结束函数体就用return
3-1. 我建议使 ...
你好
1、这不是作业
2、这些问题是我脑洞打开想出来的
3、鱼币没地方用,只能用到这些地方了
但还是再次感谢你的帮助 有木有思路+代码啊??? 如果我想在個屁後面添加上:正確答案是TIEM,怎麼寫??? mzxay 发表于 2020-4-15 17:11
如果我想在個屁後面添加上:正確答案是TIEM,怎麼寫???
正确答案是TIME???
是answer吧???
没问题
就是在前面加上一个变量,赋值为'个屁\n正确答案是'+answer
接着再后面引用ta就OK啦 mzxay 发表于 2020-4-15 21:47
对不起对不起
请先str(answer)
{:10_282:}
页:
[1]