python字串相關練習題

2021-10-07 07:49:59 字數 4436 閱讀 7382

輸入乙個字串,列印所有奇數字上的字元(下標是1,3,5,7…位上的字元)

例如: 輸入**'abcd1234 』 ** 輸出**『bd24』**

str1 =

'abcd1234'

print

(str1[1:

len(str1):2

])

輸入使用者名稱,判斷使用者名稱是否合法(使用者名稱長度6~10位)

name =

input

('請輸入使用者名稱:')if

6<

len(name)

<10:

print

('使用者名稱合法'

)else

:print

('使用者名稱不合法'

)

輸入使用者名稱,判斷使用者名稱是否合法(使用者名稱中只能由數字和字母組成)

例如:『abc』— 合法『123』— 合法『abc123a』— 合法

name =

input

('請輸入使用者名稱:'

)for x in name:

ifnot

('a'

<= x <=

'z'or

'a'<= x <=

'z'or

'0'<= x <=

'9')

:print

('使用者名稱不合法!'

)break

else

:print

('使用者名稱合法'

)

輸入使用者名稱,判斷使用者名稱是否合法(使用者名稱必須包含且只能包含數字和字母,並且第乙個字元必須是大寫字母)

例如:『abc』— 不合法『123』— 不合法『abc123』— 不合法『abc123ahs』— 合法

name =

input

('請輸入使用者名稱:'

)flag = flag1 = flag2 =

false

for x in name:

if'a'

<= x <=

'z':

flag =

true

elif

'a'<= x <=

'z':

flag1 =

true

elif

'0'<= x <=

'9':

flag2 =

true

else

:print

('資料不合法!'

)break

if flag == flag1 == flag2 ==

true

:print

('資料合法'

)else

:print

('資料不合法!'

)

輸入乙個字串,將字串中所有的數字字元取出來產生乙個新的字串

例如:輸入**『abc1shj23kls99+2kkk』** 輸出:'123992』

str1 =

'abc1shj23kls99+2kkk'

str2 =

''for x in str1:

if'0'

<= x <=

'9':

str2 += x

print

(str2)

輸入乙個字串,將字串中所有的小寫字母變成對應的大寫字母輸出 (用upper方法和自己寫演算法兩種方式實現)

例如: 輸入**『a2h2klm12+』 ** 輸出'a2h2klm12+'

# 方法一:

str1 =

'a2h2klm12+'

print

(str1.upper())

# 方法二:

str1 =

'a2h2klm12+'

str2 =

''for x in str1:

if'a'

<= x <=

'z':

y =ord(x)

y -=

32 x =

chr(y)

str2 += x

print

(str2)

輸入乙個小於1000的數字,產生對應的學號

例如: 輸入**『23』,輸出』py1901023』** 輸入**『9』, 輸出』py1901009』** 輸入**『123』,輸出』py1901123』**

num =

input

('請輸入乙個數字:'

)print

('py1901'

+ num.zfill(3)

)

輸入乙個字串,統計字串中非數字字母的字元的個數

例如: 輸入**『anc2+93-sj胡說』** 輸出:4輸入**』===』** 輸出:3

str1 =

input

('請輸入乙個字串:'

)count =

0for x in str1:

ifnot

('a'

<= x <=

'z'or

'a'<= x <=

'z'or

'0'<= x <=

'9')

: count +=

1print

(count)

輸入字串,將字串的開頭和結尾變成』+』,產生乙個新的字串

例如: 輸入字串**『abc123』, 輸出』+bc12+』**

str1 =

'abc123'

str2 =

''for x in

range(0

,len

(str1)):

if x ==

0or x ==

len(str1)-1

: str2 +=

'+'else

: str2 += str1[x]

print

(str2)

輸入字串,獲取字串的中間字元

例如: 輸入**『abc1234』** 輸出:『1』輸入**『abc123』** 輸出**『c1』**

str1 =

input

('請輸入乙個字串:')if

len(str1)&1

==1:print

(str1[

len(str1)//2

])else

:print

(str1[

len(str1)//2

-1], str1[

len(str1)//2

])

寫程式實現字串函式find/index的功能(獲取字串1中字串2第一次出現的位置)

例如: 字串1為:how are you? im fine, thank you!, 字串2為:you, 列印8

str1 =

'how are you? im fine, thank you!'

str2 =

'you'

for i in

range(0

,len

(str1)):

if str1[i]

== str2[0]

:if str1[i:i +

len(str2)

]== str2:

print

(i)break

獲取兩個字串中公共的字元

例如: 字串1為:abc123, 字串2為:huak3, 列印:公共字元有:a3

str1 =

'abc123'

str2 =

'huak3'

str3 =

''for x in str1:

if x in str2:

str3 += x

print

(str3)

字串練習題

1.請編寫乙個c函式,該函式可以實現將乙個整數轉為任意進製的字串輸出 include include char ch 16 函式宣告 將整數轉換為任意進製的字串 charchar int2sys int num,int n,int move bit int main else if n 8 else...

字串練習題

變數名是否合法 1.變數名只能由字母 數字 下劃線組成 2.只能以字母或下劃線開頭 源 while true s input 變數名 if s exit print 歡迎下次使用 break if s 0 isalpha or s 0 for i in s 1 if not i.isalnum or...

字串練習題

輸入兩個字串,從第乙個字串中刪除第二個字串中所有的字元。例如,輸入 they are students.和 aeiou 則刪除之後的第乙個字串變成 thy r stdnts.s1 input 請輸入第乙個字串 s2 input 請輸入第二個字串 s3 方法一 for i in s1 print i,...