本文首發於微信公衆號:"算法與編程之美",歡迎關注,及時瞭解更多此係列文章。
問題描述
用文字描述要解決的問題是什麼。
示例:隨機出10道題並計算正確率
輸入:你的結果
輸出:你是否正確並出下一道題,10道題之後計算正確率
解決方案
把+、-、*、/四個算數運算符號隨機選擇,n1代表隨機在100數字以內選取一個數字,n2代表隨機在1到100以內選取一個數字,n2可能作爲分母,所以不能取到0,其他範圍可以改,並按照格式化輸出的形式編排成一個算數式,用for循環實現循環出10道題。
2.判斷隨機選取的符號,如果是對應的符號,則答案爲對應數字中間爲對應符號計算答案,此答案代表正確答案。
3.設置一個輸出,此輸出爲你的答案,如果選擇123則表示退出,如果繼續作答則繼續計算你的算數式並寫出你的結果,判斷你的結果與正確結果是否相等,如果不相等則進入下一道題,如果相等則進入下一道題,並將正確的題數進行計數,10道題結束之後就計算你在10道題裏面的正確率。
代碼清單 1 DFS求解1到100求和問題Python代碼
Courier New字體,23磅行間距 import random count = 0 for i in range(10): fuhaolist = ['+','-','*','/'] fuhao = random.choice(fuhaolist) n1 = random.randint(0,100) n2 = random.randint(1,100) print(f'{n1}{fuhao}{n2}=') # 計算正確率 if fuhao == '+': asw = n1 + n2 elif fuhao == '-': asw = n1 - n2 elif fuhao == '*': asw = n1 * n2 elif fuhao == '/': asw = round(n1 / n2,2)
your_asw = eval(input('請輸入答案,退出請按123:'))
if your_asw == asw: count +=1 elif your_asw == 123: print('退出') break else: print('回答錯誤') percent = (count/10)*100 print(f'你一共答對了{count}道題,正確率爲{percent}%') |
結語
本文章是解決隨機選取問題以及用格式化輸出編排格式,但是就只用到了+、-、*、/四個運算符號,而且所出的題也比較簡單,所以後續還需要更加完善裏面的算法。
主編:歐洋
作者:辜啓書、趙晨曦、文裕龍
稿件來源:深度學習與文旅應用實驗室(DLETA)
本文分享自微信公衆號 - 算法與編程之美(algo_coding)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。