Str+tuple+list

來源:互聯網
上載者:User

標籤:com   this   翻轉   while   ace   進度   過濾   更新   ice   

str1 格式化輸出%法第一種 %s+tuple %d+tuple
name = input(‘請輸入你的姓名:‘)age = input(‘請輸入你的年齡:‘)hobby = input(‘請輸入你的愛好:‘)msg = ‘我叫%s,今年%d歲,愛好%s‘ % (name,int(age),hobby)
第二種 %(name)+dict
dic = {‘name‘:‘老男孩‘,‘age‘:51,‘hobby‘:‘無所謂‘}msg = ‘我叫%(name)s,今年%(age)d歲,愛好%(hobby)s‘ % dicprint(msg)
note在格式化輸出中單純的顯示% 用%% 解決
name = input(‘請輸入你的姓名:‘)age = input(‘請輸入你的年齡:‘)msg = ‘我叫%s,今年%d歲,學習進度為1%%‘ % (name,int(age))print(msg)
{}+format

三種用法

第一種用法:{}+ format +()
s = ‘我叫{},今年{},愛好{}‘.format(‘MT‘,18,‘母牛‘)print(s)
第二種用法:{num}+format+()
s = ‘我叫{0},今年{1},愛好{2},我依然叫{0},今年還是{1}‘    .format(‘MT‘,18,‘母牛‘)print(s)
第三種 索引值對:{name}+format+dict
s = ‘我叫{name},今年{age},愛好{hobby}‘.format(age=18, name=‘MT‘, hobby=‘悶兒‘)print(s)
2 str 索引與切片索引與切片 s[起始索引:截止索引:步長]

s =‘ 我喜歡python‘

索引
s1 = s[0]print(s1)s2 = s[2]print(s2)s3 = s[-1]print(s3)
切片 顧頭不顧腚
s4 = s[0:3]print(s4)s41 = s[:3]print(s41)s5 = s[3:7]print(s5)s6 = s[:]print(s6)
步長
s7 = s[:5:2]print(s7)s8 = s[:7:3]print(s8)
反向步長
s7 = s[-1:-5:-1]print(s7)
常用操作方法*** 首字母大寫,其他字母小寫
s = ‘python‘s1 = s.capitalize()print(s1)
***全部大寫,全部小寫
s2 = s.upper()s3 = s.lower()print(s2,s3)code = ‘aeQu‘.upper()your_code = input(‘請輸入驗證碼‘).upper()if your_code == code:    print(‘驗證碼輸入成功‘)
* 置中center
s = ‘pthon‘s4 = s.center(30)print(s4)s4 = s.center(30,‘*‘)print(s4)
**大小寫翻轉
s5 = s.swapcase()print(s5)s = ‘woshiwangqingbin‘
每個單詞的首字母大寫(非字母隔開)
s6 =s.title()print(s6)
***判斷以什麼為開頭,以什麼為結尾。
s = ‘wangqingbin‘startswith endswith()s7 = s.startswith(‘w‘)s71 = s.startswith(‘wq‘)s72 = s.startswith(‘wang‘)s73 = s.startswith(‘wangqing‘)s74 = s.startswith(‘q‘, 4)print(s74)print(s7,s71,s72,s74)
***去除首尾的 空格,分行符號\n,tab \t去除左邊的空格,分行符號,tab lstrip()去除右邊的空格,分行符號,tab rstrip()去除兩邊的空格strip()
s = ‘  wangqingbin ‘s = ‘\nwangqingbin\t‘print(s)print(s.strip())print(s.lstrip())print(s.rstrip())
 name = input(‘請輸入使用者名稱:‘).strip() if name == ‘wangqingbin‘:     print(666)      s = ‘,wangqingbin‘ print(s.strip(‘,wang‘))
*** find index 通過元素找索引find

S.find(sub[, start[, end]]) -> int or Return -1 on failure.

s = ‘wang‘print(s.find(‘w‘))print(s.find(‘a‘,3))print(s.find(‘x‘))
index

raise ValueError on failure

print(s.index(‘x‘))
*** count 尋找元素出現的個數 可切片
s = ‘alexex‘print(s.count(‘e‘))print(s.count(‘ex‘))
***replace 替換
s = ’123王慶斌王慶斌123‘s1 = s.replace(‘王慶斌‘, ‘小粉嫩‘)print(s1)s2 = s.replace(‘王慶斌‘, ‘小粉嫩‘,1)print(s2)s3 = s.replace(‘王慶斌‘, ‘sb‘)print(s3)
***** split 分割 str ---> list
s = ‘wang qing bin‘print(s.split(‘ ‘))s1 = ‘wang,qing,bin‘print(s1.split(‘,‘))s2 = ‘wangaqingsabin‘print(s2.split(‘a‘))s3 = ‘wangaqingsabin‘print(s3.split(‘a‘,1))  # 分割次數
* isxxx

print(name.isalnum()) #字串由字母或數字組成
print(name.isalpha()) #字串只由字母組成
print(name.isdigit()) #字串只由數字組成

name=‘123a‘if name.isdigit():    name = int(name)    print(name,type(name))else:    print(‘您輸入的由非數字元素‘)
*****len
s = ‘fdsafdsaf‘print(len(s))count = 0s = ‘fdsafdsag‘print(s[0])print(s[1])print(s[2])while count < len(s):    print(s[count])    count += 1for i in s:    print(i)
list索引,切片,步長
li = [‘wang‘, 123, True, (1, 2, 3, ‘bin‘), [1, 2, 3, ‘qing‘,], {‘name‘:‘wang‘}]print(li[0])print(li[2])print(li[1:4])print(li[:5:2])print(li[-1:-3:-1])li = [1,‘a‘,‘b‘,‘a‘,2,3,‘wang‘]
appendli.append(‘bin‘)print(li.append(‘bin‘))li.append([1,2,3])name_list = [‘wang‘ ,‘qing‘,‘bin‘,‘cute‘,‘pi‘]while True:    name = input(‘請輸入新員工姓名:Q/q‘)    if name.upper() == ‘Q‘:break    else:        name_list.append(name)        print(‘已成功添加新員工%s‘ % name)print(name_list)print(li)
insert 插入
li.insert(2,‘小三‘)print(li)extend 迭代添加,到最後li.extend(‘ABC‘)li.extend([1,2,3])print(li)
刪pop 按索引刪除

li.pop() # 預設刪除最後一個
li.pop(1) # 預設刪除最後一個

s = li.pop(1)print(s)print(li)removeli.remove(‘a‘)print(li)
clear 清空內容
li.clear()print(li)
del 刪除列表 切片刪除
刪除列表del liprint(li)切片刪除del li[:3]del li[:3:2]print(li)
改改 按照索引改
print(li[1])li[1] = ‘A‘print(li[1])li[1] = [11,22,33,44]print(li)
按照切片去改
li[:3] = ‘Q‘print(li)li[:3] = ‘sonesb‘print(li)li[:3] = [11,22,33,44]print(li)
查索引,切片步長,查看
print(li[:3])
for 迴圈
for i in li:    print(i)l1 = [1, 2, 1, 7, 5, 4, 9, 8, 3]
index 通過元素找索引
print(li.index(‘a‘))
其他動作方法:sort 從小到大,正向排序
l1.sort()print(l1)從大到小,反向排序l1.sort(reverse=True)print(l1)
翻轉reverse
l1.reverse()print(l1)
len 長度
print(len(l1))li = [1,‘a‘,‘b‘,‘a‘,2,3,‘少年阿賓‘]countprint(l1.count(1))
tuple查
tu = (1,2,‘wang‘,‘qing‘)print(tu[:2])print(tu[2])for i in tu:   print(i)

兒子不能改,孫子可能改

tu1 = (1,2,‘alex‘,[1,‘cte‘],(1,2,3),‘binge‘)tu1[3].append(‘1‘) print(tu1)li = [1,(1,2,3)]
count()len()index()note: range 當成一個數字列表,範圍
for i in range(100): # [0,1,2,。。。99]    print(i)for i in range(0,10,2):  # [0,1,2,。。。99]    print(i)for i in range(10,0,-1):  # [0,1,2,。。。99]    print(i)li = [2,3,‘12‘,4,5]for i in li:    print(li.index(i))for i in range(0,len(li)):    print(i)li = [1,2,3,[‘12‘,‘123‘,‘binge‘],4]‘‘‘for i in li:    print(i)    for ....‘‘‘
dict
dic = {"name":"wqbin",       "age":18,       "sex":"male",       }print(dic)

雜湊表:
print(hash(‘name‘))
print(hash(‘fsagffsadgsdafgfdsagsadfgfag‘))
print(hash(‘age‘))

第一種: 有則覆蓋,無則添加

dic[‘hobby‘] = ‘girl‘print(dic)dic[‘name‘] = ‘wusir‘print(dic)

第二種 setdeafult 無則添加,有則不變。

dic.setdefault(‘hobby‘)dic.setdefault(‘hobby‘,‘girl‘)dic.setdefault(‘name‘,‘ritian‘)print(dic)
pop  有傳回值print(dic.pop(‘age‘))print(dic)dic.pop(‘hobby‘)  # 報錯print(dic.pop(‘hobby‘, None))  # 返回你設定的值
clear() 清空
dic.clear()print(dic)
del
del dicprint(dic)del dic[‘name‘]print(dic)dic.popitem()  # 隨機刪除 有傳回值print(dic.popitem())print(dic)
dic[‘name‘] = ‘斌哥‘print(dic)兩個字典的改dic = {"name":"逼格","age":18,"sex":"male"}dic2 = {"name":"斌哥","weight":75}dic2.update(dic)  # 將dic索引值對,覆蓋並添加到dic2print(dic)print(dic2)
print(dic[‘name‘])print(dic[‘name1‘]) # 報錯print(dic.get(‘name‘))print(dic.get(‘name1‘))  # 預設返回Noneprint(dic.get(‘name1‘,‘沒有此索引值對‘))  # 預設返回None
其他方法:
keys() values() items()print(dic.keys(),type(dic.keys()))print(dic.keys())
keys()
for i in dic.keys():    print(i)for i in dic:    print(i)li = list(dic.keys())print(li)
values()
print(dic.values())for i in dic.values():    print(i)
items()
print(dic.items())for i in dic.items():    print(i)    特殊類型 dict 轉化 成listprint(list(dic.keys()))
概念:分別賦值
a,b = 2,3print(a,b)a,b = (2,3)print(a,b)a,b = [2,3]print(a,b)a = 4 ,b = 5a = 4b = 5a,b = b,aprint(a,b)print(dic.items())for k,v in dic.items():    print(k,v)
字典的嵌套

dic = {"name_list":[‘張三‘,‘lisi‘,‘隔壁王叔叔‘],
‘dic2‘:{‘name‘:‘阿賓‘,‘age‘:12},
}
1 ,給列表追加一個元素:‘WangWang‘

l1 = dic[‘name_list‘]l1.append(‘WangWang‘)dic[‘name_list‘].append(‘WangWang‘)print(dic)

2,給列表lisi全部大寫

print(dic[‘name_list‘][1].upper())dic[‘name_list‘][1] = dic[‘name_list‘][1].upper()print(dic)

3,給dic2 對應的字典添加一個索引值對:hobby:girl.

dic[‘dic2‘][‘hobby‘] = ‘girl‘print(dic)

練習1

1、使用while迴圈輸入 1 2 3 4 5 6 8 9 10

2、求1-100的所有數的和

sum = 0count = 1while count < 101:    sum = sum + count    count += 1  # count = count + 1    print(sum)

3、輸出 1-100 內的所有奇數

count = 1while count < 101:    print(count)    count += 2    count = 1  while count < 101:    if count % 2 == 1:    print(count)    count += 1

4、求1-2+3-4+5 ... 99的所有數的和

sum = 0count = 1while count < 100:    if count % 2 == 0:        sum -= count    else:        sum += count    count += 1    print(sum)

5、使用者登陸(三次機會重試)

username = ‘OldBoy‘password = ‘123‘i = 0while i < 3:    name = input(‘請輸入使用者名稱:‘)    pwd = input(‘請輸入密碼:‘)    if name == username and pwd == password:        print(‘登陸成功‘)        break    else:        print(‘使用者名稱或密碼錯誤‘)        i += 1

6、寫代碼:計算 1 - 2 + 3 ... + 99 中除了88以外所有數的總和?

sum = 0count = 0while count < 99:    count += 1    if count == 88:        continue    if count % 2 == 0:        sum -= count    else:        sum += countprint(sum)

7、使用者登陸(三次輸錯機會)且每次輸錯誤時顯示剩餘錯誤次數(提示:使字串格式化)

username = ‘wqb‘password = ‘123‘i = 0while i < 3:    name = input(‘請輸入使用者名稱:‘)    pwd = input(‘請輸入密碼:‘)    if name == username and pwd == password:        print(‘登陸成功‘)        break    else:        print(‘使用者名稱或密碼錯誤,還剩%s機會‘ % (2-i))        i += 1        if i == 3:            choice = input(‘是否還想在試試?Y‘)            if choice == ‘Y‘:                i = 0else:    print(‘還要不要臉了....‘)

8、實現一個整數加法計算機(兩個數相加):
如:content = input(‘請輸入內容:’)
如使用者輸入:5+9或5+ 9或5 + 9,然後進行分割再進行計算。

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

9,計算使用者輸入的內容中有幾個整數。
如:content = input(‘請輸入內容:’) # 如fhdal234slfh98769fjdla

content = input(‘請輸入內容:‘)count = 0for i in content:    if i.isdigit():        count += 1print(count)
content = input("input:")n = len(content)m = 0ls = []s = ‘‘while m < n:    if content[m].isdigit():        s = s+content[m]        if not content[m+1].isdigit():            ls.append(int(s))            m+=1            s = ‘‘    else:        m+=1for x in ls:    print(ls)
content = input("請輸入你想輸入的內容:")s = ‘‘ls = []n = len(content)m = 0num = 0while m<n:    if content[m].isdigit():        s = s + content[m]        if not content[m+1].isdigit():            ls.append( int(s))            s = ‘‘        m+=1    else:        m+=1print(len(ls))for x in ls:    print(type(x))    print(x)s = ‘fdsafdsa‘for i in s:    print(i)else:    print(666)

10、寫代碼,有如下列表,按照要求實現每一個功能。
lis = [2,3,‘k‘,[‘qwe‘,20,[‘k1‘,[‘tt‘,3,’1’]],89],’ab’,’adv’]
1)將列表lis中的’tt’變成大寫(用兩種方式)。
2)將列表中的數字3變成字串’100’(用兩種方式)。
3)將列表中的字串’1’變成數字101(用兩種方式)。

lis = [2,3,‘k‘,[‘qwe‘,20,[‘k1‘,[‘tt‘,3,‘1‘]],89],‘ab‘,‘adv‘]lis[3][2][1][0] = ‘TT‘print(lis)lis[3][2][1][0] = lis[3][2][1][0].upper()print(lis)lis[3][2][1][1] = ‘100‘print(lis)lis[3][2][1][1] = str(lis[3][2][1][1] + 97)print(lis)lis[3][2][1][2] = int(lis[3][2][1][2]) + 100print(lis)lis[3][2][1][2] = int(lis[3][2][1][2] + ‘01‘)print(lis)

11、尋找列表li中的元素,移除每個元素的空格, for i.strip()
並找出以’A’或者’a’開頭,
並以’c’結尾的所有元素,
並添加到一個新列表中,最後迴圈列印這個新列表。
li = [‘taibai ’,’alexC’,’AbC ’,’egon’,’ Ritian’,’ Wusir’,’ aqc’]
for

li = [‘tso ‘,‘aC‘,‘AbC ‘,‘on‘,‘ck‘,‘ sir‘,‘  aqc‘]l1 = []for i in li:    i = i.strip()    if i[0].upper() == ‘A‘ and i[-1] == ‘c‘:        l1.append(i)print(l1)l1 = []for i in li:    i = i.strip()    if (i.startswith(‘A‘) or i.startswith(‘a‘)) and i.endswith(‘c‘):        l1.append(i)print(l1)

12、開發敏感詞語過濾程式,提示使用者輸入評論內容,
如果使用者輸入的內容中包含特殊的字元:
敏感詞列表 li = ["蒼老師","東京熱","武藤蘭","波多野結衣"]
則將使用者輸入的內容中的禁用語替換成***,並添加到一個列表中;
如果使用者輸入的內容沒有禁用語,則直接添加到上述的列表中

li = [‘蒼老師‘,‘東京熱‘,‘武藤蘭‘,‘波多野結衣‘]ret = input(‘input:‘)           # ***東京熱武藤蘭波多野結衣小澤瑪利亞松島楓l1 = []for i in li:    ret = ret.replace(i,"*"*len(i))  # ******武藤蘭波多野結衣小澤瑪利亞松島楓l1.append(ret)print(l1)lis = []for i in li:    ret = ret.replace(i,len(i) * ‘*‘)lis.append(ret)print(lis)

13

av_catalog = {    "歐美":{        "www.youporn.com": ["很多免費的,世界最大的","品質一般"],        "www.pornhub.com": ["很多免費的,也很大","品質比yourporn高點"],        "letmedothistoyou.com": ["多是自拍,高品質圖片很多","資源不多,更新慢"],        "x-art.com":["品質很高,真的很高","全部收費,屌絲請繞過"]    },    "日韓":{        "tokyo-hot":["品質怎樣不清楚,個人已經不喜歡日韓範了","verygood"]    },    "大陸":{        "1024":["全部免費,真好,好人一生平安","伺服器在國外,慢"]    }}

1,給此 ["很多免費的,世界最大的","品質一般"]列表第二個位置插入一個元素:‘量很大‘。

av_catalog[‘歐美‘][ "www.youporn.com"].insert(1,‘量很大‘)print(av_catalog)

2,將此 ["品質很高,真的很高","全部收費,屌絲請繞過"]列表的 "全部收費,屌絲請繞過" 刪除。

av_catalog[‘歐美‘]["x-art.com"].remove("全部收費,屌絲請繞過")print(av_catalog)

3,將此 ["品質很高,真的很高","全部收費,屌絲請繞過"]列表的 "全部收費,屌絲請繞過" 刪除。

4,將此["品質怎樣不清楚,個人已經不喜歡日韓範了","verygood"]列表的 "verygood"全部變成大寫。
5,給 ‘大陸‘ 對應的字典添加一個索引值對 ‘1048‘ :[‘一天就封了‘]
6,刪除此"letmedothistoyou.com": ["多是自拍,高品質圖片很多","資源不多,更新慢"]索引值對。
7,給此["全部免費,真好,好人一生平安","伺服器在國外,慢"]列表的第一個元素,加上一句話:‘可以爬下來‘

av_catalog[‘大陸‘][‘1024‘][0] = av_catalog[‘大陸‘][‘1024‘][0] + ‘可以爬下來‘print(av_catalog)av_catalog[‘大陸‘][‘1024‘][0] += ‘可以爬下來‘print(av_catalog)

14、有字串"k :1|k1 :2|k2 :3|k3 :4" 處理成字典 {‘k‘:1,‘k1‘:2....}

s = ‘k:1|k1:2|k2:3|k3:4‘li = s.split(‘|‘)dic = {}for i in li:    dic[i.split(‘:‘)[0]] = int(i.split(‘:‘)[1])print(dic)dic = {‘k‘:1,‘k1‘:2}dic = {}for i in s.strip().split(‘|‘):  # [‘k:1‘,‘k1:2‘。。。。]    i = i.strip().split(‘:‘)  # [‘k ‘,‘1‘]    dic[i[0].strip()] = int(i[1])print(dic)

15、元素分類

有如下值li= [11,22,33,44,55,66,77,88,99,90],將所有大於 66 的值儲存至字典的第一個key中,將小於 66 的值儲存至第二個key的值中。即: {‘k1‘: 大於66的所有值列表, ‘k2‘: 小於66的所有值列表}

dic = {‘k1‘:[],‘k2‘:[]}li= [11,22,33,44,55,77,88,99,90]for i in li:    if i > 66:       dic[‘k1‘].append(i)    else:        dic[‘k2‘].append(i)print(dic)li= [11,22,33,44,55,77,88,99,90]dic = {}for i in li:    ····

16、輸出商品列表,使用者輸入序號,顯示使用者選中的商品
商品 li = ["手機", "電腦", ‘滑鼠墊‘, ‘遊艇‘]
要求:
1:頁面顯示 序號 + 商品名稱,如:
1 手機
2 電腦 …

2: 使用者輸入選擇的商品序號,然後列印商品名稱
3:如果使用者輸入的商品序號有誤,則提示輸入有誤,並重新輸入。
4:使用者輸入Q或者q,退出程式。

li = ["手機", "電腦", ‘滑鼠墊‘, ‘遊艇‘]

while True:    for i in li:        print(‘{}\t{}‘.format(li.index(i)+1,i))    num = input(‘請輸入商品序號:q/Q退出‘).strip()    if num.isdigit():        num = int(num)        if num > 0 and num <= len(li):            print(li[num - 1])        else:            print(‘您輸入的選項,超出範圍,請重新輸入‘)    elif num.upper() == ‘Q‘:break    else:        print(‘輸入的有非數字,請重新輸入‘)

Str+tuple+list

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.