1. 程式人生 > >PyQt 例項:猜數字

PyQt 例項:猜數字

import sys
import random
from PyQt5.QtWidgets import (QWidget,QApplication,QHBoxLayout,QVBoxLayout,
QLineEdit,QPushButton,QMessageBox)
class MyProject(QWidget):
    def __init__(self):
        super().__init__()
        self.answer = random.randint(0,100)
        # print(self.answer)
        self.initUI()

    def initUI(self):
        w = QWidget(self)

        hb = QHBoxLayout()
        hb.addStretch(1)

        vb = QVBoxLayout()
        self.le = QLineEdit("輸入0-100之間的整數")
        self.le.selectAll()
        self.le.setFocus()

        wc = QPushButton("我猜")
        wc.setToolTip("看看對不對")
        wc.clicked.connect(self.checkAnswer)

        vb.addStretch(1)
        vb.addWidget(self.le)
        vb.addSpacing(50)
        vb.addWidget(wc)
        vb.addStretch(1)

        hb.addLayout(vb)
        hb.addStretch(1)

        self.setLayout(hb)

        self.resize(300,300)
        self.show()
    def checkAnswer(self):
        if not self.le.text().isdigit():
            QMessageBox.about(self,"提示","請輸入0-100之間的整數")
            self.le.selectAll()
            self.le.setFocus()
            return
        num = int(self.le.text())
        if num < self.answer:
            QMessageBox.about(self,"提示","猜小了")
            self.le.selectAll()
            self.le.setFocus()
        elif num > self.answer:
            QMessageBox.about(self,"提示","猜大了")
            self.le.selectAll()
            self.le.setFocus()
        else:
            re = QMessageBox.question(self,"提示","猜對了:" + str(num) + ",還來嗎?",QMessageBox.Yes|QMessageBox.No)
            if re == QMessageBox.Yes:
                self.answer = random.randint(0,100)
                self.le.clear()
                self.le.setFocus()
                # print(self.answer)
            else:
                self.close()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    mp = MyProject()
    sys.exit(app.exec_())
原文

相關推薦

PyQt 例項數字

import sys import random from PyQt5.QtWidgets import (QWidget,QApplication,QHBoxLayout,QVBoxLayout, QLineEdit,QPushButton,QMessageBox) cla

通過遊戲學python 3.6 第一季 第三章 實例項數字遊戲--核心代碼--猜測次數--隨機函數和屏蔽錯誤代碼--優化代碼及註釋 可復制直接使用 娛樂 可封裝 函數

nbsp 退出 而不是 判斷 and 封裝 except 次數 img 1 #猜數字--核心代碼--猜測次數--隨機函數和屏蔽錯誤代碼---優化代碼及註釋 2 3 import random 4 number = random.randint(1,

通過遊戲學python 3.6 第一季 第九章 實例項猜數字遊戲--核心代碼--猜測次數--隨機函數和屏蔽錯誤代碼--優化代碼及註釋--簡單賬號密碼登陸--賬號的註冊查詢和密碼的找回修改--鎖定賬號--鎖定次數--菜單功能'menufile

lock isp 無限循環 lis true 條件判斷 elif bre format 通過遊戲學python 3.6 第一季 第九章 實例項目 猜數字遊戲--核心代碼--猜測次數--隨機函數和屏蔽錯誤代碼--優化代碼及註釋--簡單賬號密碼登陸--賬號的註冊查詢和密碼的

實驗任務五數字遊戲

new pub roman 一個 截圖 輸入 class () blog 猜數字遊戲 程序設計思想:想讓猜數字這個遊戲可以成功編譯並運行,首先它的遊戲思維是簡單的,系統先自動生成一個1~100之間的數字,然後由用戶進行猜測,用一個循環,當猜的數字不一樣時,提醒用戶猜大或猜小

程序執行流程數字遊戲;庫的使用turtle

clas 執行 一個數 遊戲 png input for mage num myNum=9 print(‘猜字遊戲練練玩\n‘) while True: guess=int(input(‘請輸入一個數字 :‘)) if guess<myNum:

Python基礎階段數字練習案例

nbsp print inpu while 繼續 1.2 用戶輸入 bre code 1 # -*- coding:utf-8 -*- 2 3 # 1選定一個數值 4 # 1.1用戶輸入一個數值 5 # 1.2數值的有效性 6 count = 0 #

Python實踐數字小程序Collatz序列

alt 猜數字小遊戲 tin lse error: block con 數字 num 猜數字 代碼 ‘‘‘ 猜數字小遊戲,不斷輸入你所猜的數(1-100),程序會根據你的輸入提醒你進行 適當調整所猜數的大小,直到最後猜出這個隨機數 ‘‘‘ guessNumber =

python程式數字

寫的比較簡單 import random def main(): """請輸入一個最小值和一個最大值,讓計算機自動生成一個隨機數字""" smaller=int(input("請輸入一個較小的數字:")) larger=int(input("請輸入一個較大的數字:"))

python一個小程式數字

猜數字遊戲程式執行示例:   I am thinking of a number between 1 and 20. Take a guess. 8 Your guess is too low. Take a guess. 10 Your guess is too low. Take

python一個小程序數字

auth put pla think ood python wol inpu tps 猜數字遊戲程序運行示例: I am thinking of a number between 1 and 20. Take a guess. 8 Your guess is too

PyQt GUI程式設計——數字

本文通過PyQt GUI實現一個簡單的小遊戲,猜數字。 QTDesinger 和PyUIC的安裝和使用參見前文《從零開始 使用PyQt5》 一、  在QTDesigner中完成介面設計 0A0B 4個Label 顯示當前猜測結果中,有幾個數字和位置都正確(A),幾個僅數字正確(

PTA練習數字(C語言,通俗解法)

一群人坐在一起,每人猜一個 100 以內的數,誰的數字最接近大家平均數的一半就贏。本題就要求你找出其中的贏家。 輸入格式: 輸入在第一行給出一個正整數N(≤104​​)。隨後 N 行,每行給出一個玩家的名字(由不超過8個英文字母組成的字串)和其猜的正整數(≤ 100)。 輸出

python新手學習練習題數字

輸入格式: 輸入第一行中給出兩個不趄過100的正整數.分別M遊 戲機產生的隨機致、以及猜I的辰大次數n。m後每行 給出一個使用者的輸入,直到出現負數為止D 輸出格式: 在一行中輸出每次獵測相應的結果,直到轍出猜對的 結果DTGameOver則結束。 輸入樣例: 70

JAVA課程學習五數字遊戲

練習知識1:while迴圈 練習知識2:for迴圈 熟悉if-else分支,random函式,int m = Integer.parseInt(“123”)字串轉為int型資料。 通過輸入一個數,與隨機生成的數進行比對,猜出這個隨機生成的數。 程式碼: import

題解數字——窮舉法的應用

【題目】在下面的加法算式中,不同的符號代表不同的數字,相同的符號代表相同的數字。請設計程式求出"都、要、學、C"4個符號分別代表的數字。          學  C      要  學  C+ 都  要  學  C________________  2   0   0   8

c#:猜數字遊戲!系統隨機給出一個0至99(包括0和99)之間的數字,然後讓你是什麼數字。你可以隨便一個數字,遊戲會提示太大還是太小,從而縮小結果範圍。經過幾次猜測與提示後,最終推出答案

隨機給出一個0至99(包括0和99)之間的數字,然後讓你猜是什麼數字。你可以隨便猜一個數字, 遊戲會提示太大還是太小,從而縮小結果範圍。經過幾次猜測與提示後,最終推出答案。 提示:1)單擊“開始遊戲”,獲得系統給的猜測的數字。   2)使用者在文字框中輸入數字,回車。每次

小猿圈Java初學者練習小案例數字遊戲

對於剛接觸java的小白來說,一定不能死記硬學,要先找到樂趣,讓他們產生濃厚的興趣,興趣是最好的老師,然後再培養學習的習慣和方法,

多線程用兩個線程玩數字遊戲......

sta [] 自動生成 num 數字 print max alt nts package Thread11; public class Guess { public static void main(String[] args) { // TODO 自動生成的方法

數字遊戲;庫的使用turtle

break 個數字 port image mage img 輸入 put spa >>> import turtle >>> turtle.circle(10) >>> turtle.circle(20) >&g

程序執行流程/布爾類型與布爾運算數字遊戲;

imp color 布爾 red spa png code alt done input(‘start‘) myNumber = 7 while True: guess = int(input()) if guess > myNumber: