日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python四则运算程序_四则运算小程序(Python)

發布時間:2024/3/12 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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_questions=[] # 儲存 題目 信息的列表

list_answers =[] # 儲存 答案 信息的列表

#加法運算

def add():

num1 = random.randint(1, 100) #隨機生成兩個數

num2 = random.randint(1, 100)

list_questions.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_questions.append(str(num1) + '-' + str(num2) + '=')

list_answers.append(num1 - num2)

#乘法運算

def mul():

num1 = random.randint(1, 100)

num2 = random.randint(1, 100)

list_questions.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_questions.append(str(num1) + '÷' + str(num2) + '=')

list_answers.append(num)

#隨機運算

def rand_nums():

rule = random.choice(['+','-','x','÷']) #隨機生成 運算符

if rule == '+': #生成 加法 題目,答案

add()

elif rule == '-': #生成 減法 題目,答案

cut()

elif rule == 'x': #生成 乘法 題目,答案

mul()

else: #生成 除法 題目,答案

div()

# 判斷對錯,并計算分數

def judge():

count = 0 #分數值

for i in range(len(list_questions)):

print("第{}題".format(i + 1))

print("題目:",list_questions[i])

y_answer = eval(input("請輸入你的答案:")) #輸入答案

if y_answer == float(list_answers[i]): #判斷對錯

print("回答正確!")

print("----------------")

count += 1

else:

print("很遺憾,回答錯誤!正確答案是:{}".format(list_answers[i]))

print("----------------")

return count

#真分數運算

def frac():

fz1 = random.randint(1,10) #分子 1

fm1 = random.randint(1,10) #分母 1

if fz1 > fm1:

fz1,fm1 = fm1,fz1 # 保證為真分數

num1 = Fraction(fz1,fm1) # 調用 Fraction 生成分數

fz2 = random.randint(1,10) #分子 2

fm2 = random.randint(1,10) #分母 2

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_questions.append(str(num1) + ' + ' + str(num2) + '=')

list_answers.append(num1 + num2)

elif rule == '-':

list_questions.append(str(num1) + ' - ' + str(num2) + '=')

list_answers.append(num1 - num2)

elif rule == 'x':

list_questions.append("(" + str(num1) + ")" + 'x' + "(" + str(num2) + ")" + '=')

list_answers.append(num1 * num2)

else:

list_questions.append("(" + str(num1) + ")" + '÷' + "(" + str(num2) + ")" + '=')

list_answers.append(num1 / num2)

# 打印界面提示信息

def display():

print("------------------------歡迎來到隨機生成四則運算小程序------------------------")

print()

print("********* 1. 加法運算(+)")

print("********* 2. 減法運算(-)")

print("********* 3. 乘法運算(x)")

print("********* 4. 除法運算(÷)")

print("********* 5. 隨機生成(隨機生成四種運算)")

print("********* 6. 真分數運算(隨機生成四種運算)")

print()

print("提示:對于除不盡的數可以用分數表示:如 1÷3 = 1/3, 13÷67 = 13/67")

print("---------------------------------------------------------------------------")

#主函數

def main():

display() #調用顯示函數

n = int(input("請輸入題目的數量:"))

print("----------------")

choose_rule = int(input("請選擇要進行的運算(1-6):"))

for i in range(n):

if choose_rule == 1:

add()

elif choose_rule == 2:

cut()

elif choose_rule == 3:

mul()

elif choose_rule == 4:

div()

elif choose_rule == 5:

rand_nums()

elif choose_rule == 6:

frac()

else:

print("輸入有誤,請選擇(1-6)!")

break

count = judge() #調用judge函數,判斷對錯,并計分

rate = count/n

print("總共{}分,共答對{}分,正確率:{:.2f}%".format(n,count,rate*100))

main() #主函數調用

三.運行結果

1.顯示界面

2.加法運算

3.隨機運算

4.真分數運算

任務內容

計劃完成需要的時間(min)

實際完成需要的時間(min)

計劃

20

20

估計這個任務需要多少時間,并規劃大致工作步驟

20

15

開發

0

0

需求分析(包括學習新技術)

60

120

生成設計文檔

0

0

設計復審

15

30

代碼規范

5

5

具體設計

30

20

具體編碼

120

180

代碼復審

10

10

報告

0

0

測試報告

0

0

計算工作量

300

300+

事后總結,并提出過程改進計劃

30

50

四.總結或感想

通過此次班級作業學習到了一些新知識或技能,首先,因為第一次隨筆只是簡單的敘述,此次隨筆學習到了博客園中如何插入代碼,圖片,設置表格等操作。其次,通過此次小程序的設計,對Python知識有了進一步的熟悉,為什么選擇Python語言呢?因為最近接觸的比較多,而且即將面臨Python的考試。同時考慮到真分數的運算,調用Python的第三方庫也比較方便。再者,作業中提到了psp表格,對軟件開發過程有進一步了解,從目前自身情況來看,包括一些小程序的設計或者課程設計報告,每次都只是著重如何設計代碼,沒有考慮開發過程中的一系列步驟。就算考慮到了,也只是簡而了之,對每個過程中的具體任務沒有明確的劃分。反應的問題就是,現實世界可能要比想象的復雜,從而導致需求也只是基本得到滿足,還要考慮的因素還有很多。

總結

以上是生活随笔為你收集整理的python四则运算程序_四则运算小程序(Python)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。