文章目录
- 前言
- 先修知识
- 代码
前言
现在上网课自己答题太累了,所以做一个答题的程序方便自己,后面可能考虑自己做一个浏览器脚本更方便。如果有侵权什么的记得联系博主删除哦
先修知识
PyQt5界面制作、requests模拟请求框架基本使用
代码
import sys,requests,json
from PyQt5.QtWidgets import QMainWindow,QApplication, QMessageBox
from PyQt5.uic import loadUi
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
loadUi('maingui.ui', self)
self.init_t()
def init_t(self):
self.pushButton.clicked.connect(self.search)
def search(self):
try:
text = self.textEdit.toPlainText().strip()
if (len(text) < 6):
QMessageBox.warning(self, "Warning", "题目少于6个字", QMessageBox.Yes, QMessageBox.Yes)
else:
url="http://39.108.63.141:8932/?q="+text
res=requests.get(url=url)
if(res.status_code==200):
res=json.loads(res.text)
if(res["status"]=="ok"):
data=res["data"]
s="题目:【{}】\n答案:【{}】".format(data["question"],data["answer"])
QMessageBox.information(self, "提醒",s,
QMessageBox.Yes, QMessageBox.Yes)
self.textEdit.clear()
else:
QMessageBox.warning(self, "Warning", "api响应异常,响应信息为:{}".format(res),
QMessageBox.Yes, QMessageBox.Yes)
else:
QMessageBox.warning(self, "Warning", "api响应异常,响应状态码为:{}".format(res.status_code), QMessageBox.Yes, QMessageBox.Yes)
except Exception as e:
QMessageBox.warning(self, "Warning", "程序出错:{}".format(e),
QMessageBox.Yes, QMessageBox.Yes)
s = sys.exc_info()
print("Error '%s' happened on line %d" % (s[1], s[2].tb_lineno))
app = QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec())
这里还用到了一个ui文件,附带下载链接,特意设置成了不需要积分(设置成0积分要下载码,所以还是改成要一个积分了):https://download.csdn.net/download/weixin_45857307/16159847
或者百度云链接: https://pan.baidu.com/s/1HujQJK4_DDz3ScRDek_Trg 提取码: msrc 复制这段内容后打开百度网盘手机App,操作更方便哦