day8 字串作業

2021-10-18 04:09:53 字數 4893 閱讀 3133

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

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

n =

input

('請輸入字串:'

)result =

[n[x]

for x in

range

(len

(n))

if x &1]

print

(result)

n =input

('請輸入字串:'

)result =

''for x in

range

(len

(n))

:if x &1:

result += n[x]

print

(result)

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

name =

input

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

6<=

len(name)

<=10:

print

('使用者名稱合法'

)else

:print

('使用者名稱不合法'

)

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

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

name =

input

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

)for x in name:

ifnot

('0'

<= x <=

'9'or

'a'<= x <=

'z'or

'a'<= x <=

'z')

:print

('使用者名稱不合法'

)break

else

:print

('使用者名稱合法'

)

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

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

name =

input

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

)count =0if

'a'<= name[0]

<=

'z':

for x in name:

if'0'

<= x <=

'9'or

'a'<= x <=

'z'or

'a'<= x <=

'z':

if'0'

<= x <=

'9':

count +=

1else

:print

('使用者名稱不合法'

)if count >0:

print

('使用者名稱合法'

)elif count ==0:

print

('使用者名稱不合法'

)else

:print

('使用者名稱不合法'

)

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

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

n =

input

('請輸入字串:'

)new_n =

''for x in n:

if'0'

<= x <=

'9':

new_n += x

print

(new_n)

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

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

n =

input

('請輸入字串:'

)print

(n.upper())

n =input

('請輸入字串:'

)new_n =

''for x in n:

if'a'

<= x <=

'z':

new_x =

chr(

ord(x)-32

) new_n += new_x

else

: new_n += x

print

(new_n)

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

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

num =

int(

input

('輸入乙個小於1000的數字:'))

nums =

'py1901'

num =

'%03d'

% num

num =

str(num)

stu_num = nums + num

print

(stu_num)

num =

input

('輸入乙個小於1000的數字:'

)nums =

'py1901'

num = num.zfill(3)

stu_num = nums + num

print

(stu_num)

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

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

n =

input

('請輸入字串:'

)count =

0for x in n:

ifnot

('0'

<= x <=

'9'or

'a'<= x <=

'z'or

'a'<= x <=

'z')

: count +=

1print

(count)

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

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

n =

input

('請輸入字串:'

)new_n =

'+'for n in n[1:

-1]:

new_n += n

new_n = new_n +

'+'print

(new_n)

new_n =

'+'+ n[1:

-1]+

'+'

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

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

n =

input

('請輸入字串:')if

len(n)&1

:print

(n[int

(len

(n)/2)

])else

:print

(n[int

(len

(n)//2)

-1], n[

int(

len(n)//2

)])

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

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

str1 =

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

str2 =

'you'

for i in

range

(len

(str1)+1

):if str1[i:i+

len(str2)

]== str2:

print

(i)break

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

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

str1 =

'abc123'

str2 =

'huak3'

for x in str1:

if x in str2:

print

(x, end=

' ')

day8 字串作業

輸入乙個字串,列印所有奇數字上的字元 下標是1,3,5,7 位上的字元 例如 輸入 abcd1234 輸出 bd24 str1 abcd1234 list1 y for x,y in enumerate str1 if x 2 0 print join list1 輸入使用者名稱,判斷使用者名稱是否...

day8 字串作業

輸入乙個字串,列印所有奇數字上的字元 下標是1,3,5,7 位上的字元 例如 輸入 abcd1234 輸出 bd24 str1 abcd1234 str2 for a in range len str1 if a 1 str2 str1 a print str2 輸入使用者名稱,判斷使用者名稱是否合...

day8 字串作業

輸入乙個字串,列印所有奇數字上的字元 下標是1,3,5,7 位上的字元 例如 輸入 abcd1234 輸出 bd24 str1 input 請輸入資料 for x in range len str1 if x 1 print str1 x end 輸入使用者名稱,判斷使用者名稱是否合法 使用者名稱長...