1. 程式人生 > >Python(第一期)Day4

Python(第一期)Day4

一,我們先來複習一下昨天內容

1,編碼

ASCII:字母,數字,特殊字元:1個位元組,8位

Unicode:16位 兩個位元組 升級 32 位 四個位元組(萬國碼)

UTF-8:最少一個位元組 8位表示。 英文 8位, 1個位元組 歐洲16位,2個位元組 中文24位,3個位元組

GBK:中文2個位元組,英文字母1個位元組。

2,資料型別操作

int:bit_ lenth()

bool:True False

str: str —>bool : bool(str): ’ '—>False

3,字串高階操作

captlze首字母大寫

upper()全大寫

lower()全小寫

find通過元素找索引,找不到-1

index()通過元素找索引,找不到 報錯

swpcase 大小寫翻轉

repalce(old,new,count) 若不寫次數預設全部。

isdigit() 返回bool值,判斷字串是不是全是數字

isapha()

isnumpha()

startswith endswith 判斷是不是以什麼維開頭/結尾

title 首字母大寫

center()居中

strip() lstrip() rstrip() 預設刪除空格,但是可以刪除任何東西。

Split (很重要)

len() 長度

count 計數

for i in 可迭代物件:

pass

二,接下來做幾個小練習

問題一:在字串s中,實現s1=‘123’

s = '132a4b5c'
s1 = s[0]+s[2]+s[1]
print(s1)

問題二:使用while和for迴圈分別列印字串s=’asdfer’中每個元素。

#第一種方法
for i in s:
    print(i)

#第二種方法:
index = 0
while 1:
    print(s[index])
    index += 1
    if index == len(s):
        break

問題三:實現整數加法器。如:content = input(‘請輸入內容:’) # 如使用者輸入:5+9或5+ 9或5 + 9,然後進行分割再進行計算。

#方法一
content = input('>>>').strip()#使用者輸入可能有空格,我們需要去掉。
con1 = content.split('+')# con1是列表
num = 0
for i in con1: #for迴圈  用於可迭代物件
    num += int(i)
print(num)


#方法二:
content = input('>>>').strip()
index = content.find("+")#找到+的位置
a = int(content[0:index])
b = int(content[index+1:])
print(a + b)

問題四:咱們任意輸入一串文字+數字 統計出來數字的個數。

s = input("請輸入:")
count = 0
for i in s:
    if i.isdigit():
        count += 1
print(count)

三,列表

1,某公司HR 想持續的把一批人的名字加入到公司的新名單之中。

li = ['faker', 'uzi', 'letme', 'egon', '女神']

while 1:
    username = input('>>>')
    if username.strip().upper() == 'Q':
        break
    else:
        li.append(username)
print(li)


#補充一點小知識
li.insert(4, '春哥') #在索引之前插入物件
print(li)
li.extend('二哥')  #extend list by appending elements from the iterable
li.extend([1, 2, 3])
print(li)

輸出結果: nanshan q [‘faker’, ‘uzi’, ‘letme’, ‘egon’, ‘女神’, ‘nanshan’] [‘faker’, ‘uzi’, ‘letme’, ‘egon’, ‘春哥’, ‘女神’, ‘nanshan’] [‘faker’, ‘uzi’, ‘letme’, ‘egon’, ‘春哥’, ‘女神’, ‘nanshan’, ‘二’, ‘哥’, 1, 2, 3]

2,刪除

li = ['faker', 'uzi', 'letme', 'egon', '女神']
name = li.pop(1)  # 存在返回值,按索引刪除字串
name = li.pop()   # 預設刪除最後一個
print(name, li)


li.remove('faker')  # 按元素去刪除
print(li)

li.clear()  # 清空
print(li)

del li[0:2]  # 切片去刪除


del li
print(li)  #上一行程式碼已經刪除列表,因此這裡程式執行時會報錯

輸出結果: 女神 [‘faker’, ‘letme’, ‘egon’] [‘letme’, ‘egon’] [] 程式報錯!!!

3,修改

li = ['faker', 'uzi', 'letme', 'egon', '女神']
print(li)
li[0] = '男獸'   #通過索引位置直接進行修改
li[0] = [1, 2, 3]
print(li)

li[0:3] = '雲姐hello python'
print(li)
li[0:3] = [1, 2, 3, '春哥', '鹹魚哥']
print(li)

輸出結果: [‘faker’, ‘uzi’, ‘letme’, ‘egon’, ‘女神’] [[1, 2, 3], ‘uzi’, ‘letme’, ‘egon’, ‘女神’] [‘雲’, ‘姐’, ‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ’ ', ‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, ‘egon’, ‘女神’] [1, 2, 3, ‘春哥’, ‘鹹魚哥’, ‘e’, ‘l’, ‘l’, ‘o’, ’ ', ‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, ‘egon’, ‘女神’]

4,檢視

li = ['faker', 'uzi', 'letme', 'egon', '女神']
for i in li:
    print(i)


num = li.count('faker')  #查出現的次數
print(num)

print(li.index('uzi'))   #查出現的位置

結果顯示: faker uzi letme egon 女神 1 1

5,排序

li = [1, 5, 4, 7, 6, 2, 3]
#正向排序
li.sort()
print(li)

#反向排序
li.sort(reverse=True)
print(li)

#反轉
li.reverse()
print(li)

結果顯示: [1, 2, 3, 4, 5, 6, 7] [7, 6, 5, 4, 3, 2, 1] [1, 2, 3, 4, 5, 6, 7]