程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【python基礎】內置數據結構—字符串的使用

編輯:Python

字符串的使用

  • 一、常見轉義符號
  • 二、字符串的基本特性
  • 三、練習
  • 四、字符串的判斷和轉換
  • 五、字符串的搜索和統計
  • 六、練習題

一、常見轉義符號


1、換行

2、指標符tab

二、字符串的基本特性

1、連接操作符與重復操作符
連接操作符:

print('hello '+'westos')
hello westos

重復字符

print('*'*50+'學生管理系統'+'*'*50)
**************************************************學生管理系統**************************************************

2、成員操作符
判斷是或者不是

s= 'hello westos'
print('westos' in s)
print('westos' not in s)
#結果
True
False

3、索引
正向索引:從0開始(從左向右數)
反向索引:從-1開始(從右向左數)

s = 'westos'
print(s[0])
print(s[-2])
#結果
w
o

4、切片

s[start:end:step]
s[:end]:
s[start:]:

示例1

for x in range(3):
print(f'{
x}',end='')
print()
for x in range(1,4):
print(f'{
x}',end='')
print()
for x in range(1,6,2):
print(f'{
x}',end='')
print()
#結果
012
123
135

示例2

s = 'westos'
print(s[:5])
print(s[1:3])
#結果
westo
es

總結
字符串的前n個字符: s[:n]
字符串除了前n個元素的之外的元素:s[n:]
拷貝字符串:s[:]
字符串倒序:s[::-1]

5、for循環訪問

count=0
for item in 'westos':
count +=1
print(f'第{
count}個字母是{
item}')
#結果
第1個字母是w
第2個字母是e
第3個字母是s
第4個字母是t
第5個字母是o
第6個字母是s

三、練習

用戶輸入一個字符串,判斷字符串是否為回文字符串
例入aba,abba也是回文字符串,abc不是回文字符串

x = str(input("請輸入字符串: "))
if x == x[::-1]:
print("回文字符串")
else:
print("不是回文字符串")
#結果
請輸入字符串: >? aba
回文字符串

四、字符串的判斷和轉換


1、判斷數據類型

s = 'Hello WESTOS'
print(s.isalnum())
print(s.isdigit())
print(s.isupper())
#結果
False
False
False

2、類型的轉換

print('hello'.upper())
print('HELLO'.lower())
print('HELLO'.capitalize())
#結果
HELLO
hello
Hello

3、平日裡大小寫的應用

choice = input("是否繼續安裝程序(y|Y)")
if choice.lower() == 'y':
print("正在安裝程序")
#結果
是否繼續安裝程序(y|Y)>? y
正在安裝程序

4、判斷字符串的開頭的和結尾
判斷開頭

url = 'http://www.baidu.com'
if url.startswith('http'):
print(f'{
url}是http協議')
#結果
http://www.baidu.com是http協議

判斷結尾

filename = input('請輸入文件類型:')
if filename.endswith('.png'):
print(f'{
filename}是圖片文件')
elif filename.endswith('.mp3'):
print(f'{
filename}是音樂文件')
else:
print(f"{
filename}其他文件")

5、數據清洗

lstrip: 刪除字符串左邊的空格(指的是廣義的空格:\n, \t, '')
rstrip: 刪除字符串右邊的空格(指的是廣義的空格:\n, \t, '')
replace: 替換函數,刪除中間的空格,,將中間的空格替換為空

示例1
去掉空格

" hello ".strip() $去掉全部空格
'hello'
" hello ".rstrip() $去掉右邊空格
' hello'
" hello ".lstrip() $去掉左邊空格
'hello '
" hello hello ".replace(" ","") $替換空格
'hellohello'

示例2
調整位置

print("學生管理系統".center(50))
print("學生管理系統".center(50, "*"))
print("學生管理系統".ljust(50, "*"))
print("學生管理系統".rjust(50, '*'))
#結果
學生管理系統
**********************學生管理系統**********************
學生管理系統********************************************
********************************************學生管理系統

五、字符串的搜索和統計

1、搜索子串

s = 'hello westos'
print(s.find("to")) $空格也要算一個位置
print(s.index("to"))
#結果
9
9

總結:
find、如果找到字串,則返回自創開始索引的位置,否則返還-1
idnex,如果找到字串,則返回自創開始索引的位置,否則報錯(拋出異常)

2、字符串的分離和拼接
判斷地址的合法性,判斷每個ip是否在0到255之間
將四個數字用’-'拼接起來

ip = '172.25.254.100'
item1= ip.split('.') $分離
print(f"{
item1}")
item2 = '-'.join(item1) $拼接
print(f"{
item2}")
#結果
['172', '25', '254', '100']
172-25-254-100

3、字串的練習
#需求生成100個驗證碼,每個驗證碼由兩個數字和2個字母

import random
random.choice("0123456789") #數字
import string
string.digits #數字
import string
string.ascii_letters #大小寫

因此用下列代碼即可實現

import random
import string
for i in range(100):
print("".join (random.sample(string.digits,2))+"".join (random.sample(string.ascii_letters,2)))
# 實現效果
50pO
93Zk
30eH
95Xr
92If
。。。

六、練習題


count = 10
right_number = 0
for i in range(10):
num1 = random.randint(1, 10)
num2 = random.randint(1, 10)
symbol = random.choice(["+", "-", "*"])
x = eval(f"{
num1} {
symbol} {
num2}") $ python解析字符串,返還輸出
question = f"{
num1} {
symbol} {
num2} = ?"
print(question)
print(type(x), x)
user_answer = int(input("你的答案是:"))
if user_answer == x:
print("答案正確")
right_number +=1
else:
print("答案錯誤")
print("正確率為: %.2f%%" %(right_number/count*100)) $兩個%%表示轉移%

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved