Python基礎練習 組合輸出 利潤獎金問題

2021-07-26 18:19:41 字數 1818 閱讀 5330

題目

一、有1、2、3、4個數字,能組成哪些互不相同且無重複數字的三位數?

解題思路:三層迴圈,通過條件判斷得到互不相同的三位數

**如下:

# -*- coding:utf-8 -*-

fora

in [1,2,3,4]:

for b in [1,2,3,4]:

for c in [1,2,3,4]:

ifa!=b and b!=c and c!=a:

s=a*100+b*10+c

print s

注意點:

1、python與其他語言最大的區別就是,python的**塊不使用大括號({})來控制類,函式以及其他邏輯判斷。python最具特色的就是用縮進來寫模組。

縮排的空白數量是可變的,但是所有**塊語句必須包含相同的縮排空白數量,這個必須嚴格執行

常見的因為縮排出錯而提示的報錯如下:

indentationerror:unexpected indent

意想不到的縮排,可能是tab和空格沒對齊的問題。

indentationerror:unindent does not match any outer indentation level

使用的縮排方式不一致,有的是tab鍵縮排,有的是空格縮排,需改為一致

建議在每個縮排層次使用 單個製表符 或 兩個空格 或 四個空格 , 切記不能混用題目

二、企業發放的獎金根據利潤提成。利潤(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時應發放獎金總數。

初始**:

# -*- coding:utf-8 -*-

i=raw_input("請輸入利潤i:")

if i.isdigit():

i=int(i)

if i>=1000000:

s=(i-1000000)*0.01+(1000000-600000)*0.015+(600000-400000)*0.03+(400000-200000)*0.05+(200000-100000)*0.075+100000

*0.1

elif i>=600000:

s=(i-600000)*0.015+(600000-400000)*0.03+(400000-200000)*0.05+(200000-100000)*0.075+100000

*0.1

elif i>=400000:

s=(i-400000)*0.03+(400000-200000)*0.05+(200000-100000)*0.075+100000

*0.1

elif i>=200000:

s=(i-200000)*0.05+(200000-100000)*0.075+100000

*0.1

elif i>=100000:

s=(i-100000)*0.075+100000

*0.1

else:

s=i*0.1

print

"應發的獎金數為:"

print

selse:

print

"輸入不合法!"

基礎練習 組合數

題目來自 codevs 1631 洛谷 1173 很簡單的遞推題目 由劉汝佳紫皮 今後簡稱 ruka 衍伸想要做的這道題目 稍後我將ruka版 發上來 本題 如下 include include define num 100003 using namespace std long long a 10...

Python基礎練習

1.python 為什麼不需要變數名和變數型別宣告?python語言中物件的型別和記憶體都是執行時確定的。在建立也就是賦值時,直譯器會根據語法和右側的運算元來決定新物件的型別。2.python 為什麼不需要宣告函式型別?待補充3.python 為什麼應當避免在變數名的開始和結尾使用雙下劃線?合法識別...

python基礎練習

比較大小5個數的大小 i 5j 1 sum1 0 while j i num1 int input 輸入第 d個數 j if j 1 max1 num1 min1 num1 sum1 num1 else if num1 max1 max1 num1 elif num1 求5個數的和及平均值 i 5j...