2021-07-22 python的easygui的学习

python的eastgui学习

msgbox的使用

import easygui
easygui.msgbox('hello there')

在这里插入图片描述![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/080a6aab7b4e2057f605b4269c42d52e.png

import easygui as g
g.msgbox(msg='我一定要学好编程',title='此为标题',ok_button='加油')

在这里插入图片描述

import easygui as g
import sys
'''
ccbox(msg='Shall I continue?', title=' ', choices=('Continue', 'Cancel'), image=None)
ccbox() 提供一个选择:Continue 或者 Cancel,并相应的返回 1(选中Continue)或者 0(选中Cancel)。
注意 ccbox() 是返回整型的 1 或 0,不是布尔类型的 True 或 False。但你仍'''
if g.ccbox(msg='亲爱的还玩吗?',choices=('继续','算了吧')):
    g.msgbox('还是不玩了睡觉吧!')
else:
    sys.exit()

在这里插入图片描述

button box的使用

buttonbox(msg=’’, title=’ ', choices=(‘Button1’, ‘Button2’, ‘Button3’), image=None, root=None)
buttonbox() 返回按钮的文本内容。如果用户取消取消或者关闭窗口,那么会返回默认选项(第一个选项)

import easygui
fl=easygui.buttonbox('你喜欢什么?',choices=['玫瑰''郁金香''链'])
easygui.msgbox('你的选择是:'+fl)

在这里插入图片描述

在这里插入图片描述

index.box()

indexbox(msg=‘Shall I continue?’, title=’ ', choices=(‘Yes’, ‘No’), image=None)

基本跟上面一样,区别就是当用户选择第一个按钮的时候返回序列号0,选择第二个按钮时候返回序列号1。

boolbox()

boolbox(msg=‘Shall I continue?’, title=’ ', choices=(‘Yes’, ‘No’), image=None)

如果第一个按钮被选中则返回 1,否则返回 0。

mutchoicebox()

**multchoicebox(msg=‘Pick as many items as you like.’, title=’ ', choices=(), kwargs)
multchoicebox() 函数也是提供一个可选择的列表,与 choicebox() 不同的是,multchoicebox() 支持用户选择 0 个,1 个或者同时选择多个选项。
multchoicebox() 函数也是使用序列(元祖或列表)作为选项,这些选项显示前会按照不区分大小写的方法排好序。

import easygui as g
g.multchoicebox(msg="请选择你爱吃哪些水果?",title="",choices=("西瓜","香蕉","苹果","梨"))

在这里插入图片描述

选择框choice box

import easygui
fl=easygui.choicebox('你喜欢什么?',choices=['玫瑰','郁金香'])
easygui.msgbox('你的选择是:'+fl)#fl显示
easygui.msgbox('你的选择是:',fl)#fl不显示

输入框输入enterbox

enterbox(msg=‘Enter something.’, title=’ ‘, default=’’, strip=True, image=None, root=None)

enterbox() 为用户提供一个最简单的输入框,返回值为用户输入的字符串。
默认返回的值会自动去除首尾的空格,如果需要保留首尾空格的话请设置参数 strip=False。

import easygui
fl=easygui.enterbox('请写入你喜欢的:')
easygui.msgbox('你喜欢的是:'+fl)

在这里插入图片描述
在这里插入图片描述

interbox()

**integerbox(msg=’’, title=’ ‘, default=’’, lowerbound=0, upperbound=99, image=None, root=None, invalidKeywordArguments)

integerbox() 为用户提供一个简单的输入框,用户只能输入范围内(lowerbound参数设置最小值,upperbound参数设置最大值)的整型数值,否则会要求用户重新输入。

默认输入default

flavor = easygui.enterbox("What is your favorite ice cream flavor?",
 default = 'Vanilla')

整数框integer box

mulenterbox()

multenterbox(msg=‘Fill in values for the fields.’, title=’ ', fields=(), values=())
multenterbox() 为用户提供多个简单的输入框,要注意以下几点:

如果用户输入的值比选项少的话,则返回列表中的值用空字符串填充用户为输入的选项。
如果用户输入的值比选项多的话,则返回的列表中的值将截断为选项的数量。
如果用户取消操作,则返回域中的列表的值或者None值

import easygui as g

msg = "请填写一下信息(其中带*号的项为必填项)"
title = "账号中心"
fieldNames = ["*用户名","*真实姓名","固定电话","*手机号码","QQ","*Email"]
fieldValues = []
fieldValues = g.multenterbox(msg,title,fieldNames)
#print(fieldValues)
while True:
    if fieldValues == None :
        break
    errmsg = ""
    for i in range(len(fieldNames)):
        option = fieldNames[i].strip()
        if fieldValues[i].strip() == "" and option[0] == "*":
            errmsg += ("【%s】为必填项   " %fieldNames[i])
    if errmsg == "":
        break
    fieldValues = g.multenterbox(errmsg,title,fieldNames,fieldValues)
print("您填写的资料如下:%s" %str(fieldValues))

在这里插入图片描述

passwordbox()

passwordbox(msg=‘Enter your password.’, title=’ ‘, default=’’, image=None, root=None)

passwordbox() 跟 enterbox() 样式一样,不同的是用户输入的内容用""显示出来,返回用户输入的字符串:*

multpasswordbox()

multpasswordbox(msg=‘Fill in values for the fields.’, title=’ ', fields=(), values=())

multpasswordbox() 跟 multenterbox() 使用相同的接口,但当它显示的时候,最后一个输入框显示为密码的形式(""):*

import easygui as g
msg = "请输入用户名和密码"
title = "用户登录接口"
user_info = []
user_info = g.multpasswordbox(msg,title,("用户名","密码"))
print(user_info)

在这里插入图片描述

textbox()

textbox(msg=’’, title=’ ‘, text=’’, codebox=0)

textbox() 函数默认会以比例字体(参数 codebox=1 设置为等宽字体)来显示文本内容(会自动换行哦),这个函数适合用于显示一般的书面文字。
注:text 参数(第三个参数)可以是字符串类型,列表类型,或者元祖类型。

diropenbox()

diropenbox(msg=’’,title=’’,default=’’)

该函数用于提供一个对话框,返回用户选择的目录名,该目录名是带有完整的路径的
选择Cancel的话,返回值默认为None

import easygui
msg = '选择一个文件,将会返回该文件的完整的目录'
title = '文件选择对话框'
default = r'F:flappy-bird'
full_file_path = easygui.diropenbox(msg,title,default)
print('选择的文件的完整的路径为:'+str(full_file_path))

在这里插入图片描述

案例 使用Easygui的猜数游戏

import easygui,random
num=random.randint(0,10)
for i in range(7):
    wn=easygui.enterbox(f'我有一个数,你来猜猜,猜中有奖励哦,他是一个0-9的数,你只有6次机会,你还有{6-i}次机会')

    if int(wn)==num:
        easygui.msgbox('恭喜你猜中了')
        break
    elif int(wn)<num:
        easygui.msgbox("不好意思,你猜小了")
    elif int(wn)>num:
        easygui.msgbox('不好意思,你猜大了')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

案例 商家促销活动

一家商场在降价促销。如果购买金额低于或等于 10 元,会给 10% 的折扣,
如果购买金额大于 10 元,会给 20% 的折扣。编写一个程序,询问购买价格,
再显示折扣(10% 或 20%)和最终价格。

import easygui
nx=easygui.buttonbox('本店最近打折,消费不高于10元的打10折,高于10元的打20折,请您选择:',choices=['低于10元','高于10元'])
if nx=='低于10元':
    easygui.msgbox(f'你的选择是{nx},打10折')
    mon = easygui.enterbox('请输入你的消费金额:')
    easygui.msgbox(f'你的总消费额为{mon},优惠后为{float(mon) * 0.1}')
else:
    easygui.msgbox(f'你的选择是{nx},打20折')
    mon = easygui.enterbox('请输入你的消费金额:')
    easygui.msgbox(f'你的总消费额为{mon},优惠后为{float(mon) * 0.5}')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

案例 球队招收

一个足球队在寻找年龄在 10 到 12 岁之间的小女孩加入。编写一个程序,询问
用户的年龄和性别(m 表示男性,f 表示女性)。显示一条消息指出这个人是否
可以加入球队。

import easygui
fx=easygui.buttonbox('请选择你的性别',choices=['男','女'])
if fx=='男':
    easygui.msgbox('不好意思,你不满足招收标准')
else:
    age=easygui.enterbox('请输入你的年龄:')
    if 10<float(age)<12:
        easygui.msgbox('恭喜你,满足条件')
    else:
        easygui.msgbox('不好意思,你不满足招收标准')

案例 汽车加油

你在长途旅行,刚到一个加油站,距下一个加油站还有 200 km。编写一个程
序确定是不是需要在这里加油,还是可以等到下一个加油站再加油。
 这个程序应当问下面几个问题。 ˆ 你的油箱有多大(单位是升)?
ˆ 油箱有多满(按百分比,例如,半满就是 50%)?
ˆ 你的汽车每升油可以走多远(km)?

import easygui
al=easygui.enterbox('请输入你的油箱总容量(l)')
nl=easygui.enterbox('请输入你现在的油量(l)')
sp=easygui.enterbox('请输入你的汽车每升有的行驶距离(km)')
yy=200/float(sp)
if yy<float(nl)-5:
    result=f'''
    你的油箱容量为{al}l
    你现在的油量为{nl}l
    你的汽车每升油有可行{sp}km
    你距离下一站还有200km
    建议:
    你的现有油还能跑{float(nl)*float(sp)}km,,建议下一站加油
    '''
    easygui.msgbox(result)
else:
    result = f'''
      你的油箱容量为{al}l
      你现在的油量为{nl}l
      你的汽车每升油有可行{sp}km
      你距离下一站还有200km
      建议:
      你的现有油还能跑{float(nl) * float(sp)}km,,建议你本站加油
      '''
    easygui.msgbox(result)

在这里插入图片描述

if语句中的and /or

and
在这里插入图片描述
or
在这里插入图片描述

基础补充

1.python中可以用if 2<afe<8:来判断变量的范围
2.if与elif 当为多个if时,运行期间,每个if都会判断,而由if/elif组成的,if为真时不在判断后面的
3. str.isalnum():判断所有字符是否都是数字或者字母== 纯数字 纯字母 数字加字母==
str.isalpha():判断所有字符是否都是字母
str.isdigit():判断所有字符是否都是数字
str.islower():判断字符串是否全为小写
str.isupper():判断字符串是否为大写
str.istitle():判断字符串首字母是否为大写
str.isspace():所有字符都是空白字符

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值