python四则运算程序_四则运算(Python)
四則運算程序
一、信息
二. 題目要求
寫一個能自動生成小學四則運算題目的程序,然后在此基礎上擴展:
1
除了整數以外,還要支持真分數的四則運算,例如:1/6+1/8=7/24
2
程序要求能處理用戶的輸入,判斷對錯,累積分數
3
程序支持可以由用戶自行選擇加、減、乘、除運算
4
使用-n參數控制生成題目的個數,例如Myapp.exe -n 10,將生成10個題目
三、代碼
import random # 生成隨機數
from fractions import Fraction # 分數運算
list_subjects=[] # 對題目信息儲存
list_answers =[] # 對答案信息儲存
#主函數
def main():
display() #調用信息界面
n = int(input("共有題目數量為:"))
print("**************")
choose_rule = int(input("在1-5中選擇需要的運算:"))
for i in range(n):
if choose_rule == 1:
div()
elif choose_rule == 2:
mul()
elif choose_rule == 3:
cut()
elif choose_rule == 4:
add()
elif choose_rule == 5:
frac()
else:
print("輸入有誤,請選擇(1-5)!")
break
count = judge()
print("總共{}分,共答對{}分".format(n,count))
#信息界面
def display():
print("四則運算開始!!")
print(" 1. 除法運算(÷)")
print(" 2. 乘法運算(x)")
print(" 3. 減法運算(-)")
print(" 4. 加法運算(+)")
print(" 5. 真分數運算(隨機算法)")
#加法運算
def add():
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
list_subjects.append(str(num1) + '+' + str(num2) + '=')
list_answers.append(num1 + num2)
#減法運算
def cut():
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
if num1 < num2:
num1, num2 = num2, num1
list_subjects.append(str(num1) + '-' + str(num2) + '=')
list_answers.append(num1 - num2)
#乘法運算
def mul():
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
list_subjects.append(str(num1) + 'x' + str(num2) + '=')
list_answers.append(num1 * num2)
#除法運算
def div():
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
num = Fraction(num1,num2)
list_subjects.append(str(num1) + '÷' + str(num2) + '=')
list_answers.append(num)
# 判斷對錯,累加正確分數
def judge():
count = 0 #分數值
for i in range(len(list_subjects)):
print("第{}題".format(i + 1))
print("題目:",list_subjects[i])
y_answer = eval(input("請輸入你的答案:"))
if y_answer == float(list_answers[i]): #判斷對錯
print("正確!")
print("*************")
count += 1
else:
print("錯誤!正確答案是:{}".format(list_answers[i]))
return count
#分數運算
def frac():
fz1 = random.randint(1,10)
fm1 = random.randint(1,10)
if fz1 > fm1:
fz1,fm1 = fm1,fz1
num1 = Fraction(fz1,fm1)
fz2 = random.randint(1,10)
fm2 = random.randint(1,10)
if fz2 > fm2:
fz2,fm2 = fm2,fz2
num2 = Fraction(fz2,fm2)
if num1 < num2:
num1,num2 = num2,num1
rule = random.choice(['+','-','x','÷'])
if rule == '+':
list_subjects.append(str(num1) + ' + ' + str(num2) + '=')
list_answers.append(num1 + num2)
elif rule == '-':
list_subjects.append(str(num1) + ' - ' + str(num2) + '=')
list_answers.append(num1 - num2)
elif rule == 'x':
list_subjects.append("(" + str(num1) + ")" + 'x' + "(" + str(num2) + ")" + '=')
list_answers.append(num1 * num2)
else:
list_subjects.append("(" + str(num1) + ")" + '÷' + "(" + str(num2) + ")" + '=')
list_answers.append(num1 / num2)
main()
四、實驗結果
五、PSP表格
|任務內容|計劃完成需要的時間(min)|實際完成需要的時間(min)|
計劃
20
25
估計這個任務需要多少時間,并規劃大致工作步驟
15
17
開發
140
200
需求分析(包括學習新技術)
15
14
生成設計文檔
10
10
設計復審
8
8
代碼規范
12
15
具體設計
20
30
具體編碼
100
140
代碼復審
20
30
報告
20
25
測試報告
10
15
計算工作量
10
15
事后總結,并提出過程改進計劃
3
5
六、總結反思
通過這次動手,我發現我思維的局限性感受到了自己很多的不足,以后我會好好改進,高效正確的完成任務。
總結
以上是生活随笔為你收集整理的python四则运算程序_四则运算(Python)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kubernetes HPA 的三个误区
- 下一篇: kubernetes中metrics-s