1. 程式人生 > >習題練習

習題練習

變量 用戶 num ack str spl lac 進行 註意

1.實現一個整數加法計算器(倆個數相加)

如: content = input("請輸入內容:")

如用戶輸入:5+9或者5 + 9 ,然後進行分割再進行計算

content = input("請輸入內容:").strip().split("+")
num = int(content[0]) + int(content[1])
print(num)

擴展多個數相加

content = input("請輸入內容:").strip().split("+")
count = 0
for i in content:  #循環
    count = count + int(i)#進行自加
print
(count)

2.計算用戶輸入的內容中有幾個整數.

如 content = input("請輸入內容") gghguhy123hgygyguy

content = input("請輸入內容")
count = 0
for i in content:
    if i.isalnum():
        count += 1
print(count)

擴展: 將123看成是一個整體,比如輸入的是123,識別成是一個整體,返回1而不是返回3.

待定






3.查找列表li中的元素,移除每個元素的空格,並找出以"A"或者"a"

開頭,並以"c"結尾的所有元素,並添加到一個新列表中,最後循環打印這個新列表
方法一: 用字符串操縱方法startswith,endswith
li = ["taibai ", "alexC", "AbC", "egon", "Rittian", "Wusir", " aqc"] s = [] for i in li: i = i.strip() if (i.startswith("A") or i.startswith("a")) and i.endswith("c"): s.append(i) for j in s: print(s)
返回:[‘aqc‘] 先將列表循環,然後去除空格,判斷每次循環i這個字符串是不是以什麽開頭和結尾,註意or與and同時出現存在優先級的問題,所以需要將前面的or部分
括起來,滿足條件的就添加到空列表s裏面,然後打印出來.
方法二:將單個字符串提出來,用索引判斷.
l1 = [] for i in li: i = i.strip() if i[0].upper() == "A" and i[-1] == "c": l1.append(i) print(l1)
返回:[‘aqc‘] 同樣的循環,當i循環到某一個列表內的字符串時,用索引判斷,str的前面和後面是不是A和c,滿足條件就添加到列表l1中.

4.列表嵌套,打印列表裏的每一個元素.
li = [1, 2, 3, ["alex", "wusir", "老男孩"], 4]
for i in li:  #循環整個大的列表
    if type(i) == list:#當i等於列表的時候
        for j in i:   #
            print(j)
    else:
        print(i)
返回:

1
2
3
alex
wusir
老男孩
4

要求用for循環加上range寫
li = [1, 2, 3, ["alex", "wusir", "老男孩"], 4]
for index in range(len(li)):
    if type(li[index]) == list:
        for i in range(len(li[index])):
             print(li[index][i])
    else:
        print(li[index])

5.開發敏感詞語過濾程序,提示用戶輸入評論內容,如果用戶輸入的內容中包含特殊的字符:敏感詞列表 li = ["蒼老師","東京熱",”武藤蘭”,”波多野結衣”]

則將用戶輸入的內容中的敏感詞匯替換成***,並添加到一個列表中;如果用戶輸入的內容沒有敏感詞匯,則直接添加到上述的列表中

思路:循環的是敏感詞匯列表.i分別是li裏的每一個元素,

如果敏感詞匯在ret輸入的評論裏面

就將他替換

替換了之後

添加到一個新的列表裏

打印列表

li = ["蒼老師", "東京熱", "武藤蘭", "波多野結衣"]
li1 = []
ret = input("請輸入評論內容:")
for i in li:
    if i in ret:
        ret = ret.replace(i, "*" * len(i)) 
li1.append(ret)
print(li1)
#i的值循環出來就是列表裏的敏感詞匯,題目是要將敏感詞匯替換成為*號,用replace(old.new.n/次數),正常情況下寫成這樣replace(i,"*"),但是這樣只替換了
一次,到下次循環就沒有被替換,所以需要加上替換的次數,想如果是次數,不可能直接寫n吧,所以就可以用i的長度,意思是說,如果輸入的敏感詞匯與li中的詞匯長度
想符合,就將全部替換成*.
 ret = ret.replace(i, "*" * len(i)) ,這裏的變量名ret,如果變成其他名a,如果是a,當i等於蒼老師時,被替換了的賦值給a,當i等於東京熱的時候,也被
替換掉了,賦值給a,但第二次替換的時候是先替換,然後把值賦給a,相當於將前面一次a已經替換成***的覆蓋了,覆蓋了就等於沒有被替換,所以需要將每次替換的*
保存在ret裏面,下次循環的時候就不會再替換,而且還被保存了,所有當整個輸入敏感詞匯下來,就全部被替換掉.


 

習題練習