iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 6
0
自我挑戰組

程式香草的小旅行系列 第 6

踩一點python

今天練習了一些python的小習題,
下面是嘗試錯誤的紀錄:

請寫一支Python程式,切割並合併以下兩個字串使之成為合理的順序
a = ['a','3','z','7','e']
b = ['39','j','10','15','c']

a=['a','3','z','7','e']
b=['39','j','10','15','c']
print (list(a[0]+b[4]+a[4]+b[1]+a[2]))
print(list(a[1]+a[3]+b[2]+b[3]+b[0]))

這個基本題的解法當然很多,
原本想簡單一點直接這樣列,
但忽略了list的特性,
會讓我的第二行print的數字被拆開來:

['a', 'c', 'e', 'j', 'z']
['3', '7', '1', '0', '1', '5', '3', '9']
本來以為可以順利跑出'10','15','39'
卻被拆開了,
只能直接整串改掉。

另一個練習是我想把學的東西綜合起來試試看,
我想輸入一個有小數點的數字,
把它轉換成整數,
再print出整數的長度。

最開始的時候是長這樣:

a=int(input('number='))
print(len(str(a)))

然後就跑出了錯誤:

invalid literal for int() with base 10:

在我原本的理解,
int是‘取整數’的意思,
但實際上,
int或float都只是一種‘數字’的類型,
沒法辦法直接從文字的浮點數轉換成數字整數,
因此要改成下面這個方式:

a=int(float(input('number=')))
print(len(str(a)))

先讓文字的浮點數用float轉換成浮點數字,再用int取整數,這樣就沒有問題了。


上一篇
終於要進入正題了(嗎):HTML
下一篇
學到想睡覺的時候怎麼辦
系列文
程式香草的小旅行30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言