py_字符串的操作方法


一、整型(int)、布爾值(bool)、字符串(str)

int----->str----->bool三者之間的轉換

二、字符串的常規操作及內置方法

1、字符串的操作方法:

 

s = 'python全棧脫產班20期'
# 用索引取值
print(s[-5])
print(s[10])
# 切片 0可以省略不寫
print(s[0:10])
print(s[:10])
print(s[:])
print(s[:10:2]) # 加步長每隔2個取一個值
# 反向取值必須加步長, 最后一位的索引值為-1,
print(s[-1:-8])
print(s[-1:-8:-2])

2、字符串的內置方法

# 大前提:對字符串的任何操作都是產生一個新的字符串,與原字符串沒有關系
s = 'Wusirs22'
t1 = s.count('a') # 在字符串中查找指定字符有多少個
t2 = s.upper() # 將字符串中的字符全部大寫
t3 = s.lower() # 將字符串中的字符全部小寫
t4 = s.title() # 非字母隔開的每個單詞的首字母大寫
t5 = s.find('a') # 通過元素獲取其索引,找到第一個就返回,找不到會返回-1。
t6 = s.index('a') # 通過元素獲取其索引,找到第一個就返回,找不到會報錯。
t7 = s.capitalize() # 將字符串中的首字母大寫
t8 = s.replace('a','nb',2) # 替換,由什么替換成什么,替換幾次
t9 = s.startswith('w') # 判斷以什么為開頭 可以切片
t10 = s.startswith('i',3,) # 判斷以什么為開頭 可以切片,取索引3后面的所有字符
t11 = s.endswith('i',3) # 判斷以什么結尾,可以切片,取索引3后面的所有字符
t12 = s.swapcase() # 大小寫反轉
t13 = s.isupper() # 判斷字符串中所有字母是否為大寫,返回布爾值
t14 = s.islower() # 判斷字符串中所有字母是否為小寫,返回布爾值
t15 = s.isdigit() # 字符串只由數字組成
t16 = s.isalpha() # 字符串只由字母組成
t17 = s.isalnum() # 字符串由字母或數字組成
---------------------------------------------------------------
t18 = s.strip('W') # 默認去除字符串兩邊的空格,換行符,制表符,只是去除左邊-->lstrip()去除右邊-->rstrip(),可設置去除的字符
t19 = s.split() # 默認按照空格分割,
t20 = s.split('r') # 指定字符進行分割,
t21 = s.split('s',2) # 指定字符進行分割,且指定分割次數
---------------------------------------------------------------
join 連接符
l1 = ['wusir', 'alex', 'taibai'] # 操作列表時,列表里面的內容必須全部是字符串類型
t22 = ''.join(l1) # 默認連接
t23 = '-'.join(l1)   # 指定字符連接
---------------------------------------------------------------
字符串的格式化輸出
第一種情況
m = '姓名:{} 年齡:{} 性別:{}'
w = m.format('煙雨江南',20,'')
print(w)
第二種情況
m = '姓名:{0} 年齡:{1} 性別:{2} 我永遠{1}歲'
w = m.format('煙雨江南',18,'')
print(w)
第三種情況
m = '姓名:{name} 年齡:{age} 性別:{sex} 我永遠{age}歲'
w = m.format(name = '煙雨江南',age = 18,sex = '')
print(w)

作業:

1、分別⽤while,for循環輸出字符串s = input("你想輸⼊的內容")的每⼀個字符。

2、實現⼀個整數加法計算器(兩個數相加): 如:content = input("請輸⼊內容:") ⽤戶輸⼊:5+9或5+ 9或5 + 9,然后進⾏分 割再進⾏計算;

3、計算⽤戶輸⼊的內容中有⼏個整數(以個位數為單位)。 如:content = input("請輸⼊內容:")   # 如fhdal234slfh98769fjdla

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

5、輸⼊⼀個字符串,要求判斷在這個字符串中⼤寫字⺟,⼩寫字⺟,數字, 其它字符 共出現了多少次,並輸出出來

6、使⽤for循環對s="abcdefg"進⾏循環,每次打印的內容是每個字符加上sb, 例如: asb, bsb,csb,...gsb

 

第一題:
s = input('你想要輸入的內容')
for i in s:
    print(i)

count = 0
while count < len(s):
    print(s[count])
    count += 1
第二題:
content = input("請輸⼊內容:").split('+')
s = 0
for i in content:
    s = s+ int(i)
print(s)
第三題:
content = input("請輸⼊內容:").strip()   # 如fhdal234slfh98769fjdla
count = 0
for i in content:
    if i.isdigit():
        count += 1
print(count)
第四題:
count = 1
sum = 0
while count < 100:
    if count == 88:
        count += 1
        continue
    if count % 2 == 0:
        sum = sum - count
    else:
        sum = sum + count
    count = count + 1
print(sum)
第五題:
s = input("請輸入一句話")
upper_num = 0
lower_num = 0
num = 0
other = 0
for a in s:
    if a.isupper():
        upper_num += 1
    elif a.islower():
        lower_num += 1
    elif a.isdigit():
        num += 1
    else:
        other += 1
print("大寫字母有%s個,小寫字母有%s個,數字有%s個,其他有%s個" % (upper_num,lower_num,num,other))
第六題:
s="abcdefg"
for i in s:
    print(i+'sb')
答案

 正數索引和負數索引可以混用。只要能指到正確的元素即可。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM