day8 字串作業

2021-10-12 08:29:05 字數 3809 閱讀 9417

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

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

str1 = 'abcd1234'

list1 = [y for x, y in enumerate(str1) if x % 2 != 0]

print(''.join(list1))

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

s = input('請輸入使用者名稱:')

if 6 <= len(s) <= 10:

print('合法')

else:

print('不合法')

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

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

s = input('請輸入使用者名稱:')

for x in s:

if '0' <= x <= '9' or ('a' <= x <= 'z' or 'a' <= x <= 'z'):

continue

else:

print('不合法')

break

else:

print('合法')

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

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

s = input('請輸入使用者名稱:')

c = 0

if 'a' <= s[0] <= 'z':

for x in s[1:]:

if '0' <= x <= '9' or ('a' <= x <= 'z' or 'a' <= x <= 'z'):

if '0' <= x <= '9':

c += 1

continue

elif x == s[-1] and c == 0:

print('不合法')

elif 'a' <= x <= 'z' or 'a' <= x <= 'z':

continue

else:

print('不合法')

break

else:

print('合法')

else:

print('不合法')

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

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

s = 'abc1shj23kls99+2kkk'

list2 = [x for x in s if '0' <= x <= '9']

print(''.join(list2))

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

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

a = 

for x in s:

if 'a' <= x <= 'z':

y = chr(ord(x) - 32)

else:

print(''.join(a))

s = 'a2h2klm12+'

a = s.upper()

print(a)

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

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

s = input('請輸入數字:')

a = 'py1901'

if s < '100':

a = a + s.zfill(3)

else:

a = a + s

print(a)

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

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

s = input('請輸入:')

a = 0

for x in s:

if '0' <= x <= '9' or 'a' <= x <= 'z' or 'a' <= x <= 'z':

continue

else:

a += 1

print(a)

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

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

s = input('請輸入:')

a = s.replace(s[0], '+')

print(a.replace(a[-1], '+'))

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

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

s = input('請輸入:')

l = len(s)

if l % 2 == 0:

print(s[(l // 2) - 1], s[l // 2])

else:

print(s[l // 2])

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

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

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

b = 'you'

for x in range(len(a)):

if a[x] == b[0]:

if a[x + 1] == b[1]:

if a[x + 2] == b[2]:

print(x)

break

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

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

a = 'abc123'

b = 'hua1k3'

c = ''

for x in a:

for y in b:

if x == y:

c += x

print(c)

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 n input 請輸入字串 result n x for x in range len n if x 1 print result n input 請輸入字串 result for ...

day8 字串作業

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