Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
QYF-RYCBStudio authored Apr 17, 2022
1 parent d9e1437 commit 6e5348b
Show file tree
Hide file tree
Showing 5 changed files with 70 additions and 21 deletions.
61 changes: 47 additions & 14 deletions src/main/Main.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Author: RYCB studio
# -*- coding:utf-8 -*-
# Version 1.5.2-a


# MIT License
Expand Down Expand Up @@ -31,36 +32,68 @@

import configparser
from fuzzywuzzy import fuzz
import sys
import urllib.request as ur
import easygui as eg
import datetime
import webbrowser as wb

dt = datetime.datetime.now()
cfps = configparser.ConfigParser()


def checkForUpdates(serverName):
cfps.read("update\\update.ucf")
ur.urlretrieve("{}/latestVersion".format(serverName), "version")
humanReadableVersion = cfps.get("Version", "version")
machineReadableVersion = cfps.get("programSelfCheck", "version")
with open("update\\version", "r") as v:
v = v.readline().strip()
if humanReadableVersion == v or machineReadableVersion == v:
eg.msgbox("Congratulations! Your program version is the latest version!\n恭喜!您的程序版本是最新版本!")
else:
cc = eg.choicebox(
"Oops! Your program version is not the latest version. You have two options:\n抱歉!您的程序版本不是最新版,您有两种选择:",
"qyf-rycbstudio.github.io", ["Download the latest version\t下载最新版本", "No, thanks\t不了,谢谢"])
if cc == "Download the latest version\t下载最新版本":
cc1 = eg.choicebox("You have two options:",
"qyf-rycbstudio.github.io",
["Let the program download the latest version\t让程序下载最新版本", "Manual Download\t手动下载"])
if cc1 == "Let the program download the latest version\t让程序下载最新版本":
pass
else:
eg.msgbox("Please go to the website to download\n请前往网页下载")
wb.open(
"https://github.com/QYF-RYCBStudio/Aerospace-Knowledge-Learning-And-Testing-System/releases")
else:
pass


def main():
init()
a = eg.buttonbox("请选择:", "qyf-rycbstudio.github.io", ["学习", "做题", "退出"], image='./yy.png')
a = eg.buttonbox("请选择:", "qyf-rycbstudio.github.io", ["学习", "做题", "检查更新", "退出"], image='.\\yy.png')
while a != "退出":
if a == "学习":
questions()
a = eg.buttonbox("请选择:", "qyf-rycbstudio.github.io", ["学习", "做题", "退出"], image='./yy.png')
a = eg.buttonbox("请选择:", "qyf-rycbstudio.github.io", ["学习", "做题", "检查更新", "退出"], image='.\\yy.png')
elif a == "做题":
exercises()
a = eg.buttonbox("请选择:", "qyf-rycbstudio.github.io", ["学习", "做题", "退出"], image='./yy.png')
else:
a = "学习"
a = eg.buttonbox("请选择:", "qyf-rycbstudio.github.io", ["学习", "做题", "检查更新", "退出"], image='.\\yy.png')
elif a == "检查更新":
checkForUpdates("https://raw.githubusercontent.com/QYF-RYCBStudio/Aerospace-Knowledge-Learning-And-Testing-System/main/")
main()
else:
sys.exit(0)
if eg.ynbox("确定退出吗?", "qyf-rycbstudio.github.io"):
quit()
else:
main()


def init():
with open("logs/RYCBStudio-Log.log", "w") as w:
w.write("")
log("Program is Initializing...")
log("Loading Module ConfigParser...")
eg.msgbox("\t\t\t 【 航天知识学习检测系统V1.5 】", "qyf-rycbstudio.github.io", ok_button="下一步", image='./yy2.png')
eg.msgbox("\t\t\t 【 航天知识学习检测系统V1.5.1】", "qyf-rycbstudio.github.io", ok_button="下一步", image='.\\yy2.png')
log("The Program has been started.")


Expand All @@ -77,21 +110,21 @@ def questions():
ex_content = eval(cfps['exercise']["ex_dict"])
log("Dictionaries are showing...")
choices = eg.buttonbox("请选择序号学习相关知识:", "qyf-rycbstudio.github.io",
["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"], image="./ques.png")
if choices != "./ques.png":
["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"], image=".\\ques.png")
if choices != ".\\ques.png":
try:
eg.msgbox(ex_content[choices])
except:
init()
else:
questions()
ex = eg.buttonbox("请选择: ", "qyf-rycbstudio.github.io", ["继续", "返回"], image="./ques.png")
ex = eg.buttonbox("请选择: ", "qyf-rycbstudio.github.io", ["继续", "返回"], image=".\\ques.png")
# ex = eg.ccbox("请选择: ", "qyf-rycbstudio.github.io", ["继续", "返回"])
if ex == "继续":
questions()
log('The user had chose choice "next".')
elif ex == "./ques.png":
init()
elif ex == ".\\ques.png":
questions()
else:
log('The user had chose choice "exit".')
main()
Expand All @@ -108,7 +141,7 @@ def exercises():
log("Module ConfigParser is Loaded.")
global fuzz_res
choices = ["A", "B", "C"]
eg.msgbox("题目开始!", "qyf-rycbstudio.github.io", "Start!", image="./ans.png")
eg.msgbox("题目开始!", "qyf-rycbstudio.github.io", "Start!", image=".\\ans.png")
log("Now choice: Normal Exercise")
ex_content = eval(cfps['exercise']["ex_dict"])
answer = []
Expand Down
10 changes: 8 additions & 2 deletions src/main/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# [QYF-RYCBStudio.io][Link]

参考答案:http://www.spacechina.com/n25/n148/n272/n4785/c103490/content.html
**参考答案***http://www.spacechina.com/n25/n148/n272/n4785/c103490/content.html*

[Link]:https://qyf-rycbstudio.github.io

#  
##  
###  



##### *Copyright (c) 2022 RYCBStudio, All rights reserved.*
4 changes: 2 additions & 2 deletions src/main/exercises.cfg
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[Users]
usermarks = 10.0
usermarks = 0.0

[exercise]
ex_dict = {"1":"人类已研制出几种载人航天器?\n\n\nA.人类现已研制出宇宙飞船、航天飞机和空间站3种载人航天器\n\nB.人类现已研制出UFO、卫星和空间站3种载人航天器\n\nC.人类现已研制出航天飞机、火箭和空间站3种载人航天器","2":"载人航天器各有什么用途?\n\n\nA.宇宙飞船和航天飞机,主要用于接送航天员和货物,且在太空飞行时间一般不超过20天,又可称为天地往返运输器;空间站在太空长期运行,不返回地面,主要用于观天看地、研究空间科学、太空生产和在轨服务等。\n\nB.宇宙飞船和UFO,主要用于接送航天员和外星人,且在太空飞行时间一般不超过20天,又可称为天地往返运输器;空间站在太空长期运行,不返回地面,主要用于观天看地、研究空间科学、太空生产和在轨服务等\n\nC.航天飞机,主要用于接送航天员和货物,且在太空飞行时间一般不超过20天,又可称为运输器;空间站在太空长期运行,不返回地面,主要用于观天看地、研究空间科学、太空生产和在轨服务等。","3":"火箭的故乡在哪里?\n\n\n\tA.“火箭”最早的含义是“带火的箭”,出现在中国的三国时期。火药发明后,宋代兵家打仗时,就把火药筒绑在箭杆上,点燃引信后,靠火药喷火产生的反作用力使箭飞得更远,这种火箭已具有了现代火箭的雏形。世界公认,中国是火箭的故乡。\n\tB.“火箭”最早的含义是“带火的箭”,出现在中国的秦汉时期。火药发明后,宋代兵家打仗时,就把火药筒绑在箭杆上,点燃引信后,靠火药喷火产生的反作用力使箭飞得更远,这种火箭已具有了现代火箭的雏形。世界公认,中国是火箭的故乡。\n\tC.“火箭”最早的含义是“带火的箭”,出现在日本的南北朝时期。火药发明后,宋代兵家打仗时,就把火药筒绑在箭杆上,点燃引信后,靠火药喷火产生的反作用力使箭飞得更远,这种火箭已具有了现代火箭的雏形。世界公认,日本是火箭的故乡。","4":"我国的神舟号飞船由几个舱段组成?\n\n\n\tA.神舟号飞船是我国自主研制的载人飞船,采用“三舱一段”构型,即由轨道舱、返回舱、推进舱和附加段构成,推进舱和轨道舱上各有一对太阳能帆板。推进舱在飞船的最下部,返回舱在中间,轨道舱在上部,附加段在飞船的最顶端。\n\tB.神舟号飞船是我国非自主研制的载人飞船,采用“三舱二段”构型,即由轨道舱、返回舱、推进舱和附加段、推进段构成,推进舱和轨道舱上各有一对太阳能帆板。推进舱在飞船的最下部,返回舱在中间,轨道舱在上部,附加段在飞船的最顶端。\n\tC.神舟号飞船是我国自主研制的载人飞船,采用“一舱一段”构型,即由推进舱和附加段构成,推进舱有一对太阳能帆板。推进舱在飞船的最下部,附加段在飞船的最顶端。.","5":"神舟号飞船“三舱一段”的作用是什么?\n\n\n\tA.推进舱是飞船在空间运行及返回地面时的动力装置;返回舱是飞船起飞、飞行和返回过程中航天员乘坐的舱段,也是整个飞船的控制中心;轨道舱是航天员在太空中工作和生活的场所,装有各种实验仪器和设备。附加段也叫过渡段,是为将来与另一艘飞船或空间站交会对接做准备的。在载人飞行交会对接前,它也可以安装各种仪器用于空间探测。\n\tB.返回舱是飞船在空间运行及返回地面时的动力装置;轨道舱是飞船起飞、飞行和返回过程中航天员乘坐的舱段,也是整个飞船的控制中心;推进舱是航天员在太空中工作和生活的场所,装有各种实验仪器和设备。附加段也叫过渡段,是为将来与另一艘飞船或空间站交会对接做准备的。在载人飞行交会对接前,它也可以安装各种仪器用于空间探测。\n\tC.轨道舱是飞船在空间运行及返回地面时的动力装置;推进舱是飞船起飞、飞行和返回过程中航天员乘坐的舱段,也是整个飞船的控制中心;返回舱是航天员在太空中工作和生活的场所,装有各种实验仪器和设备。附加段也叫过渡段,是为将来与另一艘飞船或空间站交会对接做准备的。在载人飞行交会对接前,它也可以安装各种仪器用于空间探测。","6":"飞船返回地面时,是所有舱段都返回吗?\n\n\nA.不是。飞船返回地面时,只有返回舱一个舱返回地面。返回舱与轨道舱分离后,轨道舱可以留在轨道上继续工作半年左右。\n\nB.是。飞船返回地面时,所有舱都返回地面。\n\nC.选A","7":"苏联和美国的第一代载人飞船是几舱飞船?\n\n\n\tA.苏联的第一代“东方”号飞船,是双舱飞船;美国的第一代“水星”6号飞船是单舱飞船,1962年2月20日,美国航天员格伦乘坐该型号飞船环绕地球飞行了3圈。\n\tB.苏联的第一代“东方红”号飞船,是单舱飞船;美国的第一代“海盗”6号飞船是双舱舱飞船,1962年2月20日,美国航天员格伦乘坐该型号飞船环绕地球飞行了3圈。\n\tC.苏联的第一代“俄罗斯”号飞船,是双舱飞船;美国的第二代“水星”6号飞船是单舱飞船,1962年2月20日,美国航天员格伦乘坐该型号飞船环绕地球飞行了3圈。","8":"神舟号飞船由多少个分系统组成?\n\n\n\tA.共有13个分系统:结构与机构、制导导航与控制、数据管理、测控通信、热控制、推进、电源、有效载荷、环境控制与生命保障、乘员、仪表照明、应急救生、回收着陆等\n\tB.共有10个分系统:结构与机构、制导导航与控制、数据管理、测控通信、热控制、推进、电源、有效载荷、环境控制与回收着陆等。其中环境控制在卫星上是没有的。\n\nC.选A","9":"神舟号飞船的返回舱是什么样子?\n\n\n\tA.神舟号飞船返回舱的外形像一口中国古代的大钟,呈大钝头倒锥体,它在飞船的中部,为密闭结构,其上部有舱门与轨道舱相通,供航天员进出轨道舱使用。返回舱内最多可设置3个航天员座椅。\n\tB.神舟号飞船返回舱的外形像一口中国古代的大鼎,呈方形,它在飞船的中部,为密闭结构,其上部有舱门与轨道舱相通,供航天员进出轨道舱使用。返回舱内最多可设置3个航天员座椅。\n\tC.神舟号飞船返回舱的外形像一口中国古代的大钟,呈大钝头倒锥体,它在飞船的中部,为密闭结构,其上部有舱门与轨道舱相通,供航天员进出轨道舱使用。返回舱内最多可设置5个航天员座椅。","10":"航天员在“神舟”五号飞船里活动的空间很大吗?\n\n\n\tA.不算附加段,“神舟”五号飞船三个舱加起来有8米高,最大内直径2.5米,能够提供航天员自由活动的空间大约6立方米左右。\n\tB.不算附加段,“神舟”五号飞船三个舱加起来有10米高,最大内直径3米,能够提供航天员自由活动的空间大约10立方米左右。\n\tC.不算附加段,“神舟”五号飞船三个舱加起来有2米高,最大内直径1米,能够提供航天员自由活动的空间大约0.5立方米左右。"}
ex_dict = {"1":"人类已研制出几种载人航天器?\n\n\nA.人类现已研制出宇宙飞船、航天飞机和空间站3种载人航天器\n\nB.人类现已研制出UFO、卫星和空间站3种载人航天器\n\nC.人类现已研制出航天飞机、火箭和空间站3种载人航天器","2":"载人航天器各有什么用途?\n\n\nA.宇宙飞船和航天飞机,主要用于接送航天员和货物,且在太空飞行时间一般不超过20天,又可称为天地往返运输器;空间站在太空长期运行,不返回地面,主要用于观天看地、研究空间科学、太空生产和在轨服务等。\n\nB.宇宙飞船和UFO,主要用于接送航天员和外星人,且在太空飞行时间一般不超过20天,又可称为天地往返运输器;空间站在太空长期运行,不返回地面,主要用于观天看地、研究空间科学、太空生产和在轨服务等\n\nC.航天飞机,主要用于接送航天员和货物,且在太空飞行时间一般不超过20天,又可称为运输器;空间站在太空长期运行,不返回地面,主要用于观天看地、研究空间科学、太空生产和在轨服务等。","3":"火箭的故乡在哪里?\n\n\n\tA.“火箭”最早的含义是“带火的箭”,出现在中国的三国时期。火药发明后,宋代兵家打仗时,就把火药筒绑在箭杆上,点燃引信后,靠火药喷火产生的反作用力使箭飞得更远,这种火箭已具有了现代火箭的雏形。世界公认,中国是火箭的故乡。\n\tB.“火箭”最早的含义是“带火的箭”,出现在中国的秦汉时期。火药发明后,宋代兵家打仗时,就把火药筒绑在箭杆上,点燃引信后,靠火药喷火产生的反作用力使箭飞得更远,这种火箭已具有了现代火箭的雏形。世界公认,中国是火箭的故乡。\n\tC.“火箭”最早的含义是“带火的箭”,出现在日本的南北朝时期。火药发明后,宋代兵家打仗时,就把火药筒绑在箭杆上,点燃引信后,靠火药喷火产生的反作用力使箭飞得更远,这种火箭已具有了现代火箭的雏形。世界公认,日本是火箭的故乡。","4":"我国的神舟号飞船由几个舱段组成?\n\n\n\tA.神舟号飞船是我国自主研制的载人飞船,采用“三舱一段”构型,即由轨道舱、返回舱、推进舱和附加段构成,推进舱和轨道舱上各有一对太阳能帆板。推进舱在飞船的最下部,返回舱在中间,轨道舱在上部,附加段在飞船的最顶端。\n\tB.神舟号飞船是我国非自主研制的载人飞船,采用“三舱二段”构型,即由轨道舱、返回舱、推进舱和附加段、推进段构成,推进舱和轨道舱上各有一对太阳能帆板。推进舱在飞船的最下部,返回舱在中间,轨道舱在上部,附加段在飞船的最顶端。\n\tC.神舟号飞船是我国自主研制的载人飞船,采用“一舱一段”构型,即由推进舱和附加段构成,推进舱有一对太阳能帆板。推进舱在飞船的最下部,附加段在飞船的最顶端。.","5":"神舟号飞船“三舱一段”的作用是什么?\n\n\n\tA.推进舱是飞船在空间运行及返回地面时的动力装置;返回舱是飞船起飞、飞行和返回过程中航天员乘坐的舱段,也是整个飞船的控制中心;轨道舱是航天员在太空中工作和生活的场所,装有各种实验仪器和设备。附加段也叫过渡段,是为将来与另一艘飞船或空间站交会对接做准备的。在载人飞行交会对接前,它也可以安装各种仪器用于空间探测。\n\tB.返回舱是飞船在空间运行及返回地面时的动力装置;轨道舱是飞船起飞、飞行和返回过程中航天员乘坐的舱段,也是整个飞船的控制中心;推进舱是航天员在太空中工作和生活的场所,装有各种实验仪器和设备。附加段也叫过渡段,是为将来与另一艘飞船或空间站交会对接做准备的。在载人飞行交会对接前,它也可以安装各种仪器用于空间探测。\n\tC.轨道舱是飞船在空间运行及返回地面时的动力装置;推进舱是飞船起飞、飞行和返回过程中航天员乘坐的舱段,也是整个飞船的控制中心;返回舱是航天员在太空中工作和生活的场所,装有各种实验仪器和设备。附加段也叫过渡段,是为将来与另一艘飞船或空间站交会对接做准备的。在载人飞行交会对接前,它也可以安装各种仪器用于空间探测。","6":"飞船返回地面时,是所有舱段都返回吗?\n\n\nA.不是。飞船返回地面时,只有返回舱一个舱返回地面。返回舱与轨道舱分离后,轨道舱可以留在轨道上继续工作半年左右。\n\nB.是。飞船返回地面时,所有舱都返回地面。\n\nC.","7":"苏联和美国的第一代载人飞船是几舱飞船?\n\n\n\tA.苏联的第一代“东方”号飞船,是双舱飞船;美国的第一代“水星”6号飞船是单舱飞船,1962年2月20日,美国航天员格伦乘坐该型号飞船环绕地球飞行了3圈。\n\tB.苏联的第一代“东方红”号飞船,是单舱飞船;美国的第一代“海盗”6号飞船是双舱舱飞船,1962年2月20日,美国航天员格伦乘坐该型号飞船环绕地球飞行了3圈。\n\tC.苏联的第一代“俄罗斯”号飞船,是双舱飞船;美国的第二代“水星”6号飞船是单舱飞船,1962年2月20日,美国航天员格伦乘坐该型号飞船环绕地球飞行了3圈。","8":"神舟号飞船由多少个分系统组成?\n\n\n\tA.共有13个分系统:结构与机构、制导导航与控制、数据管理、测控通信、热控制、推进、电源、有效载荷、环境控制与生命保障、乘员、仪表照明、应急救生、回收着陆等\n\tB.共有10个分系统:结构与机构、制导导航与控制、数据管理、测控通信、热控制、推进、电源、有效载荷、环境控制与回收着陆等。其中环境控制在卫星上是没有的。\n\nC.","9":"神舟号飞船的返回舱是什么样子?\n\n\n\tA.神舟号飞船返回舱的外形像一口中国古代的大钟,呈大钝头倒锥体,它在飞船的中部,为密闭结构,其上部有舱门与轨道舱相通,供航天员进出轨道舱使用。返回舱内最多可设置3个航天员座椅。\n\tB.神舟号飞船返回舱的外形像一口中国古代的大鼎,呈方形,它在飞船的中部,为密闭结构,其上部有舱门与轨道舱相通,供航天员进出轨道舱使用。返回舱内最多可设置3个航天员座椅。\n\tC.神舟号飞船返回舱的外形像一口中国古代的大钟,呈大钝头倒锥体,它在飞船的中部,为密闭结构,其上部有舱门与轨道舱相通,供航天员进出轨道舱使用。返回舱内最多可设置5个航天员座椅。","10":"航天员在“神舟”五号飞船里活动的空间很大吗?\n\n\n\tA.不算附加段,“神舟”五号飞船三个舱加起来有8米高,最大内直径2.5米,能够提供航天员自由活动的空间大约6立方米左右。\n\tB.不算附加段,“神舟”五号飞船三个舱加起来有10米高,最大内直径3米,能够提供航天员自由活动的空间大约10立方米左右。\n\tC.不算附加段,“神舟”五号飞船三个舱加起来有2米高,最大内直径1米,能够提供航天员自由活动的空间大约0.5立方米左右。"}
ex_ans = {"1":"A","2":"A","3":"A","4":"A","5":"A","6":"A","7":"A","8":"A","9":"A","10":"A"}

6 changes: 3 additions & 3 deletions src/main/logs/RYCBStudio-Log.log
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[Client/INFO] [2022-04-16 19:36:26] Program is Initializing...
[Client/INFO] [2022-04-16 19:36:26] Loading Module ConfigParser...
[Client/INFO] [2022-04-16 19:36:26] The Program has been started.
[Client/INFO] [2022-04-17 12:20:06] Program is Initializing...
[Client/INFO] [2022-04-17 12:20:06] Loading Module ConfigParser...
[Client/INFO] [2022-04-17 12:20:06] The Program has been started.
10 changes: 10 additions & 0 deletions src/main/update/update.ucf
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[Version]
version = 1.5.2-a
fullVersionName = Aerospace Knowledge Learning And Testing System 0.0.1 alpha
productName = Aerospace Knowledge Learning And Testing System
friendlyAppName = Aerospace Knowledge Learning And Testing System
internalName = com.rycb.aklts
internalVersion = aklts.version_1.5.2-a

[programSelfCheck]
version = 1.5.2-a

0 comments on commit 6e5348b

Please sign in to comment.