pyqt5学习笔记1-20200803

目前学习进度

兴趣使然,这两天开始学习Python与QT5.
1.学习观看了 python 变量 基本运算符 条件 循环 输入输出 等相关语法视频。
2.pyqt5 环境搭建
3.学习了用 QtDesigner 创建简单ui布局,并转化为.py文件

本次任务目标

编写猜年龄小游戏
1.年龄在18-25之间随机生成
2.用户有三次猜测机会,猜对提示“猜中了”,猜错三次后再猜提示重新开始,点击重新开始,显示重新开始,重新拥有三次机会。
3.有对应的GUI

代码

import sys
import guess
import random
from PyQt5.QtWidgets import QApplication,QMainWindow
age = str(random.randrange(18, 25))
a4 = 3
print('你一共有%d次机会,猜一下我的年龄(18-25):\n' % (a4))

def run_guess():
    global a4
    guess_age = ui.textEdit.toPlainText()
    if 1<=a4<=3:
        if age == guess_age:
            print("猜对了!")
            ui.textBrowser.setText('猜对了!')
            a4 = 3
        else:
            print('猜错了')
            ui.textBrowser.setText('猜错了')
            a4 -= 1
            print('别气馁!你还有%d次机会:\n' % (a4))
            ui.textBrowser.setText('猜错了,别气馁!你还有%d次机会:\n' % (a4))
    else:
         print('机会用完了,请重新开始游戏')
         ui.textBrowser.setText('机会用完了,清重新开始游戏')



    return


def Restart():
    print('重新开始游戏')
    ui.textBrowser.setText('重新开始游戏')
    global a4
    a4 =3
    print('你一共有%d次机会猜一猜年龄是:\n' % (a4))


if __name__ == '__main__':
     # 从当前应用运行才会继续
    app = QApplication(sys.argv)
    # 创建QAPPLICATION类的实例,argv获取命令行参数
    mainWindow = QMainWindow()
    ui = guess.Ui_MainWindow()
    ui.setupUi(mainWindow)
    ui.textBrowser.setText('你一共有%d次机会,猜一下我的年龄(18-25):\n' % (a4))
    ui.pushButton_2.clicked.connect(run_guess)  # 按键点击信号连接run-guess槽
    ui.pushButton_3.clicked.connect(Restart)
    mainWindow.show()
    # 显示窗口

    sys.exit(app.exec_())
    # 进入程序主循环,并且通过exit函数保证安全退出

效果演示

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

问题与总结

1.在用input 和 textEdit.toPlainText 通过命令窗口和文本框获取 用户输入数据时 得到的是字符串型,在做算术运算前需要eval自动转换,或者强制转换。
2.用global可以定义全局变量,自定义函数某global变量与外面某变量名称一致时,他们就是同一变量,不用global,即使长得一样,也不是同一个变量。
3.程序结构有些另类,等学习了类和对象,可优化。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值