今天是最後一篇String的部分!
不過今天內容比較少~
一樣只有一題不過有兩種寫法~
題目是反轉字串!
反轉字串
這題也是很常看到!我今天準備了兩種寫法
不過程式碼都很短><
先來看第一種寫法
首先我們讓使用者輸入要反轉的字串,存在reversed_str
還有生成一個空字串str1,用來存放反轉後的字串
接下來迴圈的部分,i會一個一個去跑reversed_str裡面的字符!
下一行的str1 = i + str1意思是在每一次迴圈中,將目前的i加到str1的"前面"
這樣的話,每增加一個字符,str1就會從前面插入新字符
看上面我打的例子hello,我把它一步一步打出來給大家看~
當i='h'時,str1變成'h'。
當i='e'時,str1變成'eh'。
當i='l'時,str1變成'leh'。
當i='l'時,str1變成'lleh'。
當i='o'時,str1變成'olleh'。
步驟是這樣子~這樣就可以顯示出反轉後的字串了
剛剛是輸入hello來執行
換數字的看看!
我隨便輸入個4152,也反轉成功了!
接下來給大家看第二種寫法~
前面一樣用reverse_str來存放使用者輸入的資料
這次沒有再用一個空字串來存了,我們要讓字串反著一個一個輸出!不是用相加的方法
for迴圈用range來生成一個範圍,之前提過for i in range(開始值,結束值,遞增值)
開始值 : len(reverse_str)-1表示從字串的最後一個索引開始
結束值 : -1表示範圍會在-1停止,但是range函數不包括結束值,所以實際上會跑到索引0停止
遞增值 : -1表示每跑一次i就會-1
總結來說!這個範圍range(len(reverse_str)-1,-1,-1)會從字串的最後一個跑到索引0,也就是跑過所有索引
迴圈裡面就是取出字串reverse_str在索引i位置的字符然後輸出
end=""就是不空行,這樣才能連續輸出字符,不然輸出一個字符就空行,會變成一個字符一行了!
程式碼大概是這樣,一樣給大家看數字輸入的結果
輸入12345就反轉輸出54321!
今天到這邊!字串很好玩吧~~
明天會提到Time的用法,教完之後會給大家練習很好玩的題目><