1. 程式人生 > >python題目及解答

python題目及解答

  1. 數山峰
    題目描述:小P出去爬山,爬山的過程中每隔10米他都會記錄當前點的海拔高度(以一個浮點數表示),這些值序列儲存在一個由浮點陣列成的列表h中。回到家中,小P想研究一下自己經過了幾個山峰,請你幫他計算一下,輸出結果。
    例如:h=[0.9,1.2,1.22,1.1,1.6,0.99], 將這些高度順序連線,會發現有兩個山峰,故輸出一個2(序列兩端不算山峰)
h=[0.9,1.2,1.22,1.1,1.6,0.99]
print(len([i for i in range(1,len(h)-1)  if h[i]>h[i+1] and h[i]>h[i-1]]))
#將符合題目要求的山峰存到一個列表,求列表的長度即山峰的個數
  1. 大寫金額
    銀行在列印票據的時候,常常需要將阿拉伯數字表示的人民幣金額轉換為大寫表示,現在請你來完成這樣一個程式。
    在中文大寫方式中,0到10以及100、1000、10000被依次表示為: 零 壹 貳 叄 肆 伍 陸 柒 捌 玖 拾 佰 仟 萬
    以下的例子示範了阿拉伯數字到人民幣大寫的轉換規則:
    1 壹圓
    11 壹拾壹圓
    111 壹佰壹拾壹圓
    101 壹佰零壹圓
    -1000 負壹仟圓
    1234567 壹佰貳拾叄萬肆仟伍佰陸拾柒圓
    現在給你一個整數a(|a|<100000000), 請你打印出人民幣大寫表示.
    例如:a=1
    則輸出:壹圓
a=-1234567890
M=['零','壹','貳','叄','肆','伍','陸'
,'柒','捌','玖'] N=['','圓','拾','佰','仟','萬','拾','佰','仟','億','拾'] O={'零仟':'零','零佰':'零','零拾':'零','零零零':'零','零零':'零','零萬':'萬','零圓':'圓','億萬':'億'} #將不規則的零替換 r=('' if a>=0 else '負') #處理負號 s=str(abs(a)) for i in range(0,len(s)): r=r+M[int(s[i])]+N[len(s)-i] #將數字轉換為大寫 for n in range(10): for i in O: r=r.replace(
i,O[i]) #處理不符合規則的字元 print (r if a!=0 else '零圓') #處理輸入為0的情況
  1. 格式化時間
    給你一個時間t(t是一個字典,共有六個字串)key(year,month,day,hour,minute,second),每個值為數字組成的字串,
    如t={‘year’:‘2018’,‘month’:‘9’,‘day’:‘30’,‘hour’:‘16’,‘minute’:‘45’,‘second’:‘2’}
    請將其按照以下格式輸出, 格式:XXXX-XX-XX XX:XX:XX。如上例應該輸出: 2018-09-30 16:45:02。
t={'year':'2018','month':'9','day':'30','hour':'16','minute':'45','second':'2'}
print('{}-{:0>2}-{:0>2} {:0>2}:{:0>2}:{:0>2}'.format(t['year'], t['month'], t['day'], t['hour'], t['minute'], t['second']))