import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QMainWindow, QApplication, QMessageBox, QTextEdit
from random import random
# UI파일 연결
# UI파일 위치를 잘 적어 넣어준다.
form_class = uic.loadUiType("./pyqt10.ui")[0]
# 프로그램 메인을 담당하는 Class 선언
class WindowClass(QMainWindow, form_class):
def __init__(self) :
QMainWindow.__init__(self)
# 연결한 Ui를 준비한다.
self.setupUi(self)
# print(self.pb)
#버튼에 기능을 연결하는 코드
#self.버튼이름.clicked.connect(self.함수)
self.pb.clicked.connect(self.btn)
# 값을 만들어서 저장
self.com = self.com()
# 엔터에서 치면 함수가 실행되게 하기
self.le.returnPressed.connect(self.btn)
def btn(self):
# 해당 숫자 가져오기
mine = self.le.text()
# 리스트로 변환해서 순번
mineArr = list(mine)
strkie = 0
ball = 0
# 결과 저장할 변수
result = ""
# s와 b갯수 찾는 반복문
for cdx, c in enumerate(self.com) :
for mdx, m in enumerate(mineArr) :
if mdx==cdx and int(c)==int(m) : # strkie일 때
strkie+=1
elif int(c)==int(m) : # ball일 때
ball+=1
result = "{} {}S {}B \n".format(mine,strkie,ball)
# te 값 가져오기 toPlainText()
text = self.te.toPlainText()
# 다음 줄에 추가
text+=result
# te에 값 넣기
self.te.setText(text)
if strkie == 3 : # 정답일 경우
QMessageBox.about(self,'정답',"축하합니다\n{}".format(mine))
# 컴퓨터 값 만드는 함수
def com(self):
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(1000):
rnd = int(random()*9)
temp = arr[0]
arr[0] = arr[rnd]
arr[rnd] = arr[0]
com = [ arr[0], arr[1], arr[2] ]
return com
if __name__ == "__main__" :
app = QApplication(sys.argv)
window = WindowClass()
window.show()
app.exec_()
'Python' 카테고리의 다른 글
[Python] pymongo (0) | 2024.07.03 |
---|---|
[Python] pymysql 설치 및 실행(select, insert) (0) | 2024.07.02 |
서버 배포 (0) | 2024.07.01 |
6/28 Homework - 홀짝게임, 전화 (0) | 2024.06.28 |
6/27 Homework - 야구 게임 (0) | 2024.06.27 |