第五章 課後習題

2021-10-13 07:12:45 字數 1681 閱讀 8100

#第一題:輸入乙個字串,將該字串中下標為偶數的字元組成新串並通過字元格式化方式顯示

str1 = input('請輸入乙個字串:')

str2 = ''

for i in range(len(str1)):

if i%2==0:

str2 += str1[i]

print('{}'.format(str2))

#第二題:編寫程式,生成乙個由15個不重複的大小寫字母組成的列表

# ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'

# ascii_uppercase = 'abcdefghijklmnopqrstuvwxyz'

# ascii_letters = ascii_lowercase + ascii_uppercase

import string,random

a = random.sample(string.ascii_letters,15)         #samle 抓取後不放回

print(a)

#第三題:給定字串'site sea suede sweet see kase sse ssee loses',匹配出所有以s開頭以e結尾的單詞

# 方法一:

import re

str1 = 'site sea suede sweet see kase sse ssee loses'

print(re.findall(r'\bs\s*?e\b',str1))               

#\s匹配非空白 \b是正規表示式規定的乙個特殊**,代表著單詞的開頭或結尾,也就是單詞的分界處。雖然通常英文的單詞是由空格,標點符號或者換行來分隔的,但是\b並不匹配這些單詞分隔字元中的任何乙個,它只匹配乙個位置

#方法二:

str1 = 'site sea suede sweet see kase sse ssee loses'

for i in str1.split(' '):

if i.startswith('s') and i.endswith('e'):

print(i)

#第四題;生成15個包括10字元的隨機密碼,密碼中的字元只能由大小寫字母、數字和特殊字元'@''$''#''&''_''~'構成

import string,random

s = '@$#&_~'

for i in range(15):

s1 = ''

for j in range(10):

s1 += random.choice(string.ascii_letters + string.digits + s)       #choice抓取後放回

print(s1,end='  ')

#第五題:給定列表x = ['13915556234','13025621456','15325645124','15202362459'],檢查列表中的元素是否為移動手機號

#\d 匹配數字   \b 匹配單詞的開始或結束

import re

x = ['13915556234','13025621456','15325645124','15202362459']

for i in x:

a = re.findall(r'\b13[4-9]\d\b|\b15[01289]\d\b',i)     

if a:

print(a)

第五章課後練習題

1.利用迴圈結構解決問題的一般步驟?答.分析需求確定迴圈條件,確定迴圈體,然後巢狀各種 就ok了。2.使用while迴圈結構輸出 100 95 90 85 5。實現程式設計。設定斷點除錯程式,觀察迴圈變數的變化。3.使用do while迴圈實現 計算1 50中是7的倍數的數值之和並輸出。4.從鍵盤接...

第五章習題

一 填空題 1 c 的兩種聯編方式為 靜態 聯編和 動態 聯編。2 c 支援兩種多型性,靜態聯編所支援的多型性被稱為 編譯時的多型性 動態聯編所支援的多型性被稱為 執行時的多型性 3 過載函式在編譯時表現出多型性,就是 靜態 聯編 而虛函式則在執行時表現出多型性是 動態 聯編。4 為了區分過載函式,...

c primer 第五版課後習題 第五章

第五章主要講了函式 include include include include using namespace std void test 5 9 std cout 母音字母個數為 t cnt endl void test 5 10 std cout 母音字母a的個數為 t cnt a endl...