Python學習 字串按單詞反轉

2021-09-23 16:19:18 字數 2709 閱讀 4321

第一天學python,做乙個作業

題目:字串按單詞反轉(必須保留所有空格)。『i love china!』  轉化為 『china! love i』

import string

s = 'i love china!'

s1=list(s.split())

#構建乙個空陣列

x=#反向遍歷陣列

for c in reversed(s1):

#按空格連線字串

print(' '.join(x))

問題來了,用split()進行分割會存在問題,沒法保留空格,好吧,那看看下面的**

def reverse(str_list, start, end):

while start < end:

str_list[start], str_list[end] = str_list[end], str_list[start]

print('r_str_list_start:',str_list[start])

print('r_str_list_end:',str_list[end])

start += 1

end -= 1

setence = ' hello, how are you? fine. '

str_list = list(setence)

print('str_list:', str_list)

i = 0

while i < len(str_list):

if str_list[i] != ' ':

start = i

end = start + 1

print('start:', start)

print('end:',end)

while(end < len(str_list)) and str_list[end] != ' ':

end += 1

print('s_end:', end)

reverse(str_list, start, end - 1)

i = end

print('i:',i)

else:

i += 1

print(str_list)

str_list.reverse()

print(''.join(str_list))

不懂就除錯除錯再除錯,直到搞清楚每個步驟和輸出結果,菜鳥學習程式只能這樣了

看看列印輸出結果

str_list: [' ', 'h', 'e', 'l', 'l', 'o', ',', ' ', 'h', 'o', 'w', ' ', 'a', 'r', 'e', ' ', 'y', 'o', 'u', '?', ' ', ' ', ' ', 'f', 'i', 'n', 'e', '.', ' ', ' ', ' ', ' ']  #輸出列表

start: 1   #i=1時,執行

start=1, end +=1

end: 2

s_end: 3

s_end: 4

s_end: 5

s_end: 6

s_end: 7   #index為7時,遇到第乙個'  '

r_str_list_start: ,

r_str_list_end: h

r_str_list_start: o

r_str_list_end: e

r_str_list_start: l

r_str_list_end: l

i: 7

start: 8

end: 9

s_end: 10

s_end: 11

r_str_list_start: w

r_str_list_end: h

i: 11

start: 12

end: 13

s_end: 14

s_end: 15

r_str_list_start: e

r_str_list_end: a

i: 15

start: 16

end: 17

s_end: 18

s_end: 19

s_end: 20

r_str_list_start: ?

r_str_list_end: y

r_str_list_start: u

r_str_list_end: o

i: 20

start: 23

end: 24

s_end: 25

s_end: 26

s_end: 27

s_end: 28

r_str_list_start: .

r_str_list_end: f

r_str_list_start: e

r_str_list_end: i

i: 28

[' ', ',', 'o', 'l', 'l', 'e', 'h', ' ', 'w', 'o', 'h', ' ', 'e', 'r', 'a', ' ', '?', 'u', 'o', 'y', ' ', ' ', ' ', '.', 'e', 'n', 'i', 'f', ' ', ' ', ' ', ' ']

fine.   you? are how hello, 

好像成功了,感覺是要好些,的確是理解偏差

Python學習 字串

前面學了基本的python語法和內容後也會寫一些程式了,每寫完乙個程式都有莫大的自豪感 成就感,學習python一定要盡可能自己琢磨演算法和程式語言的使用,穩步提公升,語法又上線,演算法無止境,嘻嘻!今天決定好好介紹下字串 序列 字串的格式化輸出 以及字串的轉義字元。1 序列中的所有元素都是有編號的...

Python學習 字串

python的字串和c語言中的字串有著很多的差異,在python中無論是雙引號還是單引號中的字元都是字串。使用起來相對靈活。例如 this is a string 或者 this is a string 對於字串內部存在引號內容,在python中可以有一種簡易的做法 this is a string...

python學習字串

賦值 str1 abcdfeg 索引 str1 2 插入字串 str1 str1 2 插入字串 str1 2 str1.capitalize capitalize 把字串的第乙個字元改為大寫 casefold 把整個字串的所有字元改為小寫 center width 將字串居中,並使用空格填充至長度 ...