用户:
尬聊boy查看:0 回复:1 评论:0 创建时间:2021-06-13T11:29:28
【作品展示】

【作品介绍】
这是一个要计算的作品,核心简单,只是代码比较长而已,如果你们有别的创新,阔以跟我说说,哈哈哈。
【作品源代码】
# 导入相应的模块
import random
from tkinter.constants import S
import easygui
import sys
import time
# 选择要练习的相关题目
choice = easygui.buttonbox(
'请选择你要练习的题目', '标题', ('加法题目', '减法题目', '乘法题目', '除法题目'))
# 选择要练习的题目数量
choiceNum = int(easygui.enterbox('请输入你要练习的数量', '标题'))
# 判断题目数量是否为0
if choiceNum == 0 or choiceNum > 50:
while True:
easygui.msgbox('请问你是来搞笑的吗?', '标题', '对的')
choiceNum = int(easygui.enterbox('请输入你要练习的数量', '标题'))
if choice != 0:
break
# 定义要准备的变量
if choice == '加法题目':
addend1 = 0
addend2 = 0
elif choice == '减法题目':
subtraction1 = 0
subtraction2 = 0
elif choice == '乘法题目':
multiplier1 = 0
multiplier2 = 0
elif choice == '除法题目':
division1 = 0
division2 = 0
# 设置当前题目数
subjectNum = 0
# 设置一个答案变量
answer = 0
# 设置答题开始时间和答题结束时间
startTime = 0
endTime = 0
# 设置玩家输入的答案变量
inanswer = 0
# 设置正确和错误的变量
correct = 0
error = 0
# 开始设置题目(加法)
if choice == '加法题目':
for i in range(0, choiceNum + 1):
addend1 = random.randint(0, 1001)
addend2 = random.randint(0, 1001)
subjectNum += 1
def IF(num, p):
if subjectNum == num:
print(f'第{p}局')
IF(1, '一')
IF(2, '二')
IF(3, '三')
IF(4, '四')
IF(5, '五')
IF(6, '六')
IF(7, '七')
IF(8, '八')
IF(9, '九')
IF(10, '十')
IF(11, '十一')
IF(12, '十二')
IF(13, '十三')
IF(14, '十四')
IF(15, '十五')
IF(16, '十六')
IF(17, '十七')
IF(18, '十八')
IF(19, '十九')
IF(20, '二十')
IF(21, '二十一')
IF(22, '二十二')
IF(23, '二十三')
IF(24, '二十四')
IF(25, '二十五')
IF(26, '二十六')
IF(27, '二十七')
IF(28, '二十八')
IF(29, '二十九')
IF(30, '三十')
IF(31, '三十一')
IF(32, '三十二')
IF(33, '三十三')
IF(34, '三十四')
IF(35, '三十五')
IF(36, '三十六')
IF(37, '三十七')
IF(38, '三十八')
IF(39, '三十九')
IF(40, '四十')
IF(41, '四十一')
IF(42, '四十二')
IF(43, '四十三')
IF(44, '四十四')
IF(45, '四十五')
IF(46, '四十六')
IF(47, '四十七')
IF(48, '四十八')
IF(49, '四十九')
IF(50, '五十')
if subjectNum == choiceNum + 1:
print()
print(
f'完成练习, 你的正确率为{correct // choiceNum * 100}%, 你的错误率为{error // choiceNum * 100}%.')
sys.exit()
answer = addend1 + addend2
startTime = time.time()
inanswer = int(input(f'{addend1} + {addend2} = '))
if inanswer == answer:
endTime = time.time()
easygui.msgbox(
f'恭喜你答对了, 你做完这道题用了{round(endTime - startTime)}秒', '提示', '好的')
correct += 1
startTime = 0
endTime = 0
addend1 = 0
addend2 = 0
answer = 0
else:
endTime = time.time()
easygui.msgbox(
f'恭喜你答错了,你做这道题用了{round(endTime - startTime)}秒', '提示', '好')
error += 1
startTime = 0
endTime = 0
addend1 = 0
addend2 = 0
answer = 0
# ---------------------------分割线------------------------------------
# 开始设置题目(减法)
if choice == '减法题目':
for i in range(0, choiceNum + 1):
subtraction1 = random.randint(0, 1001)
subtraction2 = random.randint(0, 1001)
if subtraction1 < subtraction2:
while subtraction1 < subtraction2:
subtraction1 = random.randint(0, 1001)
subtraction2 = random.randint(0, 1001)
subjectNum += 1
def IF(num, p):
if subjectNum == num:
print(f'第{p}局')
IF(1, '一')
IF(2, '二')
IF(3, '三')
IF(4, '四')
IF(5, '五')
IF(6, '六')
IF(7, '七')
IF(8, '八')
IF(9, '九')
IF(10, '十')
IF(11, '十一')
IF(12, '十二')
IF(13, '十三')
IF(14, '十四')
IF(15, '十五')
IF(16, '十六')
IF(17, '十七')
IF(18, '十八')
IF(19, '十九')
IF(20, '二十')
IF(21, '二十一')
IF(22, '二十二')
IF(23, '二十三')
IF(24, '二十四')
IF(25, '二十五')
IF(26, '二十六')
IF(27, '二十七')
IF(28, '二十八')
IF(29, '二十九')
IF(30, '三十')
IF(31, '三十一')
IF(32, '三十二')
IF(33, '三十三')
IF(34, '三十四')
IF(35, '三十五')
IF(36, '三十六')
IF(37, '三十七')
IF(38, '三十八')
IF(39, '三十九')
IF(40, '四十')
IF(41, '四十一')
IF(42, '四十二')
IF(43, '四十三')
IF(44, '四十四')
IF(45, '四十五')
IF(46, '四十六')
IF(47, '四十七')
IF(48, '四十八')
IF(49, '四十九')
IF(50, '五十')
if subjectNum == choiceNum + 1:
print()
print(
f'完成练习, 你的正确率为{correct // choiceNum * 100}%, 你的错误率为{error // choiceNum * 100}%.')
sys.exit()
answer = subtraction1 - subtraction2
startTime = time.time()
inanswer = int(input(f'{subtraction1} - {subtraction2} = '))
if inanswer == answer:
endTime = time.time()
easygui.msgbox(
f'恭喜你答对了, 你做完这道题用了{round(endTime - startTime)}秒', '提示', '好的')
correct += 1
startTime = 0
endTime = 0
addend1 = 0
addend2 = 0
answer = 0
else:
endTime = time.time()
easygui.msgbox(
f'恭喜你答错了,你做这道题用了{round(endTime - startTime)}秒', '提示', '好')
error += 1
startTime = 0
endTime = 0
addend1 = 0
addend2 = 0
answer = 0
# ------------------------------分割线--------------
# 开始设置题目(乘法)
if choice == '乘法题目':
for i in range(0, choiceNum + 1):
multiplier1 = random.randint(0, 101)
multiplier2 = random.randint(0, 101)
subjectNum += 1
def IF(num, p):
if subjectNum == num:
print(f'第{p}局')
IF(1, '一')
IF(2, '二')
IF(3, '三')
IF(4, '四')
IF(5, '五')
IF(6, '六')
IF(7, '七')
IF(8, '八')
IF(9, '九')
IF(10, '十')
IF(11, '十一')
IF(12, '十二')
IF(13, '十三')
IF(14, '十四')
IF(15, '十五')
IF(16, '十六')
IF(17, '十七')
IF(18, '十八')
IF(19, '十九')
IF(20, '二十')
IF(21, '二十一')
IF(22, '二十二')
IF(23, '二十三')
IF(24, '二十四')
IF(25, '二十五')
IF(26, '二十六')
IF(27, '二十七')
IF(28, '二十八')
IF(29, '二十九')
IF(30, '三十')
IF(31, '三十一')
IF(32, '三十二')
IF(33, '三十三')
IF(34, '三十四')
IF(35, '三十五')
IF(36, '三十六')
IF(37, '三十七')
IF(38, '三十八')
IF(39, '三十九')
IF(40, '四十')
IF(41, '四十一')
IF(42, '四十二')
IF(43, '四十三')
IF(44, '四十四')
IF(45, '四十五')
IF(46, '四十六')
IF(47, '四十七')
IF(48, '四十八')
IF(49, '四十九')
IF(50, '五十')
if subjectNum == choiceNum + 1:
print()
print(
f'完成练习, 你的正确率为{correct // choiceNum * 100}%, 你的错误率为{error // choiceNum * 100}%.')
sys.exit()
answer = multiplier1 * multiplier2
startTime = time.time()
inanswer = int(input(f'{multiplier1} x {multiplier2} = '))
if inanswer == answer:
endTime = time.time()
easygui.msgbox(
f'恭喜你答对了, 你做完这道题用了{round(endTime - startTime)}秒', '提示', '好的')
correct += 1
startTime = 0
endTime = 0
addend1 = 0
addend2 = 0
answer = 0
else:
endTime = time.time()
easygui.msgbox(
f'恭喜你答错了,你做这道题用了{round(endTime - startTime)}秒', '提示', '好')
error += 1
startTime = 0
endTime = 0
addend1 = 0
addend2 = 0
answer = 0
# -------------------------------------分割线----------------------------------
# 开始设置题目(除法)
if choice == '除法题目':
for i in range(0, choiceNum + 1):
division1 = random.randint(0, 1001)
division2 = random.randint(0, 1001)
if division1 < division2:
while division1 < division2:
division1 = random.randint(0, 1001)
division2 = random.randint(0, 1001)
if division1 % division2 != 0:
while division1 % division2 != 0:
division1 = random.randint(0, 1001)
division2 = random.randint(0, 1001)
subjectNum += 1
def IF(num, p):
if subjectNum == num:
print(f'第{p}局')
IF(1, '一')
IF(2, '二')
IF(3, '三')
IF(4, '四')
IF(5, '五')
IF(6, '六')
IF(7, '七')
IF(8, '八')
IF(9, '九')
IF(10, '十')
IF(11, '十一')
IF(12, '十二')
IF(13, '十三')
IF(14, '十四')
IF(15, '十五')
IF(16, '十六')
IF(17, '十七')
IF(18, '十八')
IF(19, '十九')
IF(20, '二十')
IF(21, '二十一')
IF(22, '二十二')
IF(23, '二十三')
IF(24, '二十四')
IF(25, '二十五')
IF(26, '二十六')
IF(27, '二十七')
IF(28, '二十八')
IF(29, '二十九')
IF(30, '三十')
IF(31, '三十一')
IF(32, '三十二')
IF(33, '三十三')
IF(34, '三十四')
IF(35, '三十五')
IF(36, '三十六')
IF(37, '三十七')
IF(38, '三十八')
IF(39, '三十九')
IF(40, '四十')
IF(41, '四十一')
IF(42, '四十二')
IF(43, '四十三')
IF(44, '四十四')
IF(45, '四十五')
IF(46, '四十六')
IF(47, '四十七')
IF(48, '四十八')
IF(49, '四十九')
IF(50, '五十')
if subjectNum == choiceNum + 1:
print()
print(
f'完成练习, 你的正确率为{correct // choiceNum * 100}%, 你的错误率为{error // choiceNum * 100}%.')
sys.exit()
answer = division1 / division2
startTime = time.time()
easygui.msgbox('扩展"/"是计算机中的除号,和数学除法计算方法一样', '提示')
inanswer = int(input(f'{division1} / {division2} = '))
if inanswer == answer:
endTime = time.time()
easygui.msgbox(
f'恭喜你答对了, 你做完这道题用了{round(endTime - startTime)}秒', '提示', '好的')
correct += 1
startTime = 0
endTime = 0
addend1 = 0
addend2 = 0
answer = 0
else:
endTime = time.time()
easygui.msgbox(
f'恭喜你答错了,你做这道题用了{round(endTime - startTime)}秒', '提示', '好')
error += 1
startTime = 0
endTime = 0
addend1 = 0
addend2 = 0
answer = 0
# 完成!
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn