前言:我是一個剛學幾天python的小白,我想把這里當做我學習的記錄的地方,所以不喜勿噴蛤
我覺得這個程式還可以優化一下,比如可以在兩種模式中增加一個退出選項等,但是我不知道怎么做!
如果有人覺得我寫得還可以的話,請不要吝嗇你的贊喲
謝謝各位大佬啦
import random
k = input("請輸入:1練習模式,2考試模式")
k =int(k)
if k == 1:
print("你已經進入練習模式,你最多可以練習一百道題目")
count = 0
c = 0
s = input("請輸入:1加法,2減法,3乘法,4除法,-1退出 ")
s = int(s)
if s == 1:
while (count < 100):
b = random.randint(100, 200)
a = random.randint(100, 200)
s1 = a + b
s2 = a - b
s3 = a * b
s4 = a / b
print(str(a) + "+" + str(b) + "=")
count += 1
k = input("請輸入正確答案:")
k = int(k)
if k == s1:
# c += 1
print("恭喜你,答案正確")
else:
print("真不小心,答案錯誤哦")
elif s == 2:
while (count < 100):
b = random.randint(100, 200)
a = random.randint(100, 200)
s1 = a + b
s2 = a - b
s3 = a * b
s4 = a / b
print(str(a) + "-" + str(b) + "=")
count += 1
k = input("請輸入正確答案:")
k = int(k)
if k == s2:
# c += 1
print("恭喜你,答案正確")
else:
print("真不小心,答案錯誤哦")
elif s == 3:
while (count < 100):
b = random.randint(100, 200)
a = random.randint(100, 200)
s1 = a + b
s2 = a - b
s3 = a * b
s4 = a / b
print(str(a) + "*" + str(b) + "=")
count += 1
k = input("請輸入正確答案:")
k = int(k)
if k == s3:
# c += 1
print("恭喜你,答案正確")
else:
print("真不小心,答案錯誤哦")
elif s == 4:
while (count < 100):
b = random.randint(100, 200)
a = random.randint(100, 200)
s1 = a + b
s2 = a - b
s3 = a * b
s4 = a / b
print(str(a) + "*" + str(b) + "=")
count += 1
k = input("請輸入正確答案:")
k = int(k)
if k == s4:
# c += 1
print("恭喜你,答案正確")
else:
print("真不小心,答案錯誤哦")
#考試模式
elif k == 2:
count = 0
c = 0
s = input("請輸入:1加法,2減法,3乘法,4除法,-1退出")
s = int(s)
if s == 1:
while (count < 3):
b = random.randint(100, 200)
a = random.randint(100, 200)
s1 = a + b
s2 = a - b
s3 = a * b
s4 = a / b
print(str(a) + "+" + str(b) + "=")
count += 1
k = input("請輸入正確答案:")
k = int(k)
if k == s1:
c += 1
print("恭喜你,答案正確")
else:
print("真不小心,答案錯誤哦")
c = c
elif s == 2:
while (count < 3):
b = random.randint(100, 200)
a = random.randint(100, 200)
s1 = a + b
s2 = a - b
s3 = a * b
s4 = a / b
print(str(a) + "-" + str(b) + "=")
count += 1
k = input("請輸入正確答案:")
k = int(k)
if k == s2:
c += 1
print("恭喜你,答案正確")
else:
print("真不小心,答案錯誤哦")
c = c
elif s == 3:
while (count < 3):
b = random.randint(100, 200)
a = random.randint(100, 200)
s1 = a + b
s2 = a - b
s3 = a * b
s4 = a / b
print(str(a) + "*" + str(b) + "=")
count += 1
k = input("請輸入正確答案:")
k = int(k)
if k == s3:
c += 1
print("恭喜你,答案正確")
else:
print("真不小心,答案錯誤哦")
c = c
elif s == 4:
while (count < 3):
b = random.randint(100, 200)
a = random.randint(100, 200)
s1 = a + b
s2 = a - b
s3 = a * b
s4 = a / b
print(str(a) + "*" + str(b) + "=")
count += 1
k = input("請輸入正確答案:")
k = int(k)
if k == s4:
c += 1
print("恭喜你,答案正確")
else:
print("真不小心,答案錯誤哦")
c = c
print("你的分數為" + str(c) + "分")
uj5u.com熱心網友回復:
增加一個退出選項可以用 while True 增加一個輸入選擇 ,如"q" ,就退出。
剛學習,已經不錯了,加油!
建議,將功能相同的代碼抽象成函式,達到代碼復用之目的。
uj5u.com熱心網友回復:
嗯嗯,我去試一試,謝謝啦
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/155828.html
下一篇:四則運算練習和考試兩種模式程式
