test = ['hello', 'world', 'yoyo'] # 定義一個(gè)空字符串 j = '' # 通過 for 循環(huán)打印出列表中的數(shù)據(jù) for i in test: j = j + '_' + i # 因?yàn)橥ㄟ^上面的字符串拼接,得到的數(shù)據(jù)是“_hello_world_yoyo”,前面會(huì)多一個(gè)下劃線_,所以把這個(gè)下劃線去掉 print(j.lstrip('_'))
3. 把字符串 s 中的每個(gè)空格替換成”%20”,輸入:s = “We are happy.”,輸出:“We%20are%20happy.”。
使用 replace 函數(shù),替換字符換即可:
s = 'We are happy.' print(s.replace(' ', '%20')) 12
結(jié)果:
We%20are%20happy.
4. Python 如何打印 99 乘法表?
for 循環(huán)打?。?/section>
for i in range(1, 10): for j in range(1, i+1): print('{}x{}={}\t'.format(j, i, i*j), end='') print()
while 循環(huán)實(shí)現(xiàn):
i = 1 while i <= 9: j = 1 while j <= i: print('%d*%d=%-2d'%(i,j,i*j),end = ' ') # %d: 整數(shù)的占位符,'-2'代表靠左對(duì)齊,兩個(gè)占位符 j += 1 print() i += 1
5. 從下標(biāo) 0 開始索引,找出單詞 “welcome” 在字符串“Hello, welcome to my world.” 中出現(xiàn)的位置,找不到返回 -1。
deftest(): message = 'Hello, welcome to my world.' world = 'welcome' if world in message: return message.find(world) else: return-1
print(test())
結(jié)果: 7
6. 統(tǒng)計(jì)字符串“Hello, welcome to my world.” 中字母 w 出現(xiàn)的次數(shù)。
deftest(): message = 'Hello, welcome to my world.' # 計(jì)數(shù) num = 0 # for 循環(huán) message for i in message: # 判斷如果 'w’ 字符串在 message 中,則 num +1 if'w'in i: num += 1 return num
print(test())
# 結(jié)果 2
7. 輸入一個(gè)字符串 str,輸出第 m 個(gè)只出現(xiàn)過 n 次的字符,如在字符串 gbgkkdehh 中,找出第 2 個(gè)只出現(xiàn) 1 次的字符,輸出結(jié)果:d
deftest(str_test, num, counts): # 定義一個(gè)空數(shù)組,存放邏輯處理后的數(shù)據(jù) list = []
# for循環(huán)字符串的數(shù)據(jù) for i in str_test: # 使用 count 函數(shù),統(tǒng)計(jì)出所有字符串出現(xiàn)的次數(shù) count = str_test.count(i, 0, len(str_test))
# 判斷字符串出現(xiàn)的次數(shù)與設(shè)置的counts的次數(shù)相同,則將數(shù)據(jù)存放在list數(shù)組中 if count == num: list.append(i)
# 返回第n次出現(xiàn)的字符串 return list[counts-1]
print(test('gbgkkdehh', 1, 2))
結(jié)果: d
8. 判斷字符串 a = “welcome to my world” 是否包含單詞 b = “world”,包含返回 True,不包含返回 False。
deftest(): message = 'welcome to my world' world = 'world'
if world in message: returnTrue returnFalse
print(test())
結(jié)果: True
9. 從 0 開始計(jì)數(shù),輸出指定字符串 A = “hello” 在字符串 B = “hi how are you hello world, hello yoyo!”中第一次出現(xiàn)的位置,如果 B 中不包含 A,則輸出 -1。
deftest(): message = 'hi how are you hello world, hello yoyo!' world = 'hello'
return message.find(world)
print(test())
結(jié)果: 15
10. 從 0 開始計(jì)數(shù),輸出指定字符串 A = “hello”在字符串 B = “hi how are you hello world, hello yoyo!”中最后出現(xiàn)的位置,如果 B 中不包含 A,則輸出 -1。
deftest(string, str): # 定義 last_position 初始值為 -1 last_position = -1 whileTrue: position = string.find(str, last_position+1) if position == -1: return last_position last_position = position
print(test('hi how are you hello world, hello yoyo!', 'hello'))
deftrim(s): flag = 0 if s[:1]==' ': s = s[1:] flag = 1 if s[-1:] == ' ': s = s[:-1] flag = 1 if flag==1: return trim(s) else: return s print(trim(' Hello world! '))
通過 while 循環(huán)實(shí)現(xiàn):
deftrim(s): while(True): flag = 0 if s[:1]==' ': s = s[1:] flag = 1 if s[-1:] == ' ': s = s[:-1] flag = 1 if flag==0: break return s print(trim(' Hello world! '))
16. 將字符串 s = “ajldjlajfdljfddd”,去重并從小到大排序輸出”adfjl”。
deftest(): s = 'ajldjlajfdljfddd' # 定義一個(gè)數(shù)組存放數(shù)據(jù) str_list = [] # for循環(huán)s字符串中的數(shù)據(jù),然后將數(shù)據(jù)加入數(shù)組中 for i in s: # 判斷如果數(shù)組中已經(jīng)存在這個(gè)字符串,則將字符串移除,加入新的字符串 if i in str_list: str_list.remove(i)
deftest(): for num in range(100, 1000): i = num // 100 j = num // 10 % 10 k = num % 10 if i ** 3 + j ** 3 + k ** 3 == num: print(str(num) + '是水仙花數(shù)')
20. 求 1+2+3…+100 相加的和。
i = 1 for j in range(101): i = j + i
print(i)
結(jié)果: 5051
21. 計(jì)算 1-2+3-4+5-…-100 的值。
deftest(sum_to):
# 定義一個(gè)初始值 sum_all = 0 # 循環(huán)想要計(jì)算的數(shù)據(jù) for i in range(1, sum_to + 1): sum_all += i * (-1) ** (1 + i) return sum_all
if __name__ == '__main__': result = test(sum_to=100) print(result)
28. 找出列表 a = [“hello”, “world”, “yoyo”, “congratulations”] 中單詞最長的一個(gè)。
deftest(): a = ['hello', 'world', 'yoyo', 'congratulations'] # 統(tǒng)計(jì)數(shù)組中第一個(gè)值的長度 length = len(a[0]) for i in a: # 循環(huán)數(shù)組中的數(shù)據(jù),當(dāng)數(shù)組中的數(shù)據(jù)比初始值length中的值長,則替換掉length的默認(rèn)值 if len(i) > length: length = i return length