python實例學習中遇到的小問題,我對題目改動一下需要顯示每一檔的結果,可以用列表和if語句來完成,文章最后是原題目和答案
一、if的方式
A、程序
# !/usr/bin/python
# -*- coding: UTF-8 -*-
i = int(input('凈利潤:'))
arr = [1000000, 600000, 400000, 200000, 100000, 0]
rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
r = 0
for idx in range(0, 6):
if i > arr[idx]:
r += (i - arr[idx]) * rat[idx]
if arr[idx] == 0:
print('<100000' ,'檔',(i - arr[idx]) * rat[idx])
else:
print(arr[idx] ,'檔',(i - arr[idx]) * rat[idx])
i = arr[idx]
print('獎金總計:',r)
D:PythonScriptpythonpython.exe D:/PythonScript/456
凈利潤:1100000
1000000 檔 1000.0
600000 檔 6000.0
400000 檔 6000.0
200000 檔 10000.0
100000 檔 7500.0
<100000 檔 10000.0
獎金總計: 40500.0
Process finished with exit code 0
B、程序
# !/usr/bin/python
# -*- coding: UTF-8 -*-
i = int(input('凈利潤:'))
arr = [1000000, 600000, 400000, 200000, 100000, 0]
rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
r = 0
for idx in range(0, 6):
if i > arr[idx]:
r += (i - arr[idx]) * rat[idx]
if arr[idx] == 0:
print('<100000' ,'檔',(i - arr[idx]) * rat[idx])
else:
print(arr[idx] ,'檔',(i - arr[idx]) * rat[idx])
i = arr[idx]
print('獎金總計:',r)
B、結果
D:PythonScriptpythonpython.exe D:/PythonScript/456
凈利潤:1100000
1100000 檔 1000.0
1000000 檔 6000.0
600000 檔 6000.0
400000 檔 10000.0
200000 檔 7500.0
<100000 檔 10000.0
獎金總計: 40500.0
Process finished with exit code 0
C、程序
# !/usr/bin/python
# -*- coding: UTF-8 -*-
i = int(input('凈利潤:'))
arr = [1000000, 600000, 400000, 200000, 100000, 0]
rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
r = 0
for idx in range(0, 6):
if i > arr[idx]:
r += (i - arr[idx]) * rat[idx]
print(arr[idx] if arr[idx]>0 else '<100000','檔',(i - arr[idx]) * rat[idx])
i = arr[idx]
print('獎金總計:',r)
C、結果
D:PythonScriptpythonpython.exe D:/PythonScript/456
凈利潤:1100000
1000000 檔 1000.0
600000 檔 6000.0
400000 檔 6000.0
200000 檔 10000.0
100000 檔 7500.0
<100000 檔 10000.0
獎金總計: 40500.0
Process finished with exit code 0
二、列表的方式
程序
#!/usr/bin/python
# -*- coding: UTF-8 -*-
i = int(input('凈利潤:'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
fff = ['第六檔','第五檔','第四檔','第三檔','第二檔','第一檔']
r = 0
for idx in range(0,6):
if i>arr[idx]:
r+=(i-arr[idx])*rat[idx]
print (fff[idx],(i-arr[idx])*rat[idx])
i=arr[idx]
print ('獎金總數:',r)
結果
D:PythonScriptpythonpython.exe D:/PythonScript/123.py
凈利潤:1100000
第六檔 1000.0
第五檔 6000.0
第四檔 6000.0
第三檔 10000.0
第二檔 7500.0
第一檔 10000.0
獎金總數: 40500.0
Process finished with exit code 0
二、原題目和解答
題目:企業發放的獎金根據利潤提成。利潤(I)低于或等于10萬元時,獎金可提10%;利潤高于10萬元,低于20萬元時,低于10萬元的部分按10%提成,高于10萬元的部分,可提成7.5%;20萬到40萬之間時,高于20萬元的部分,可提成5%;40萬到60萬之間時高于40萬元的部分,可提成3%;60萬到100萬之間時,高于60萬元的部分,可提成1.5%,高于100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。
程序源代碼:
實例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
i = int(raw_input('凈利潤:'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]r = 0
for idx in range(0,6):
if i>arr[idx]:
r+=(i-arr[idx])*rat[idx]
print (i-arr[idx])*rat[idx]
i=arr[idx]print r
以上實例輸出結果為:
凈利潤:120000
1500.0
10000.0
11500.0
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com