輸入乙個字串,列印所有奇數字上的字元(下標是1,3,5,7…位上的字元)
例如: 輸入**'abcd1234 』 ** 輸出**『bd24』**
str1 = 'abcd1234'
new = [x for x in str1[1:len(str1)+1:2]]
print((''.join(new)))
法二:str1 = 'abcd1234'
print(str1[1::2])
輸入使用者名稱,判斷使用者名稱是否合法(使用者名稱長度6~10位)
name = input('輸入使用者名稱:')
if 6 <= len(name) <= 10:
print('合法')
else:
print('不合法')
輸入使用者名稱,判斷使用者名稱是否合法(使用者名稱中只能由數字和字母組成)
例如:『abc』— 合法『123』— 合法『abc123a』— 合法
name = input('輸入使用者名稱:')
for x in name:
if ('0' <= x <= '9' or 'a' <= x <= 'z' or 'a' <= x <= 'z'):
print('合法')
else:
print('不合法')
break
輸入使用者名稱,判斷使用者名稱是否合法(使用者名稱必須包含且只能包含數字和字母,並且第乙個字元必須是大寫字母)
例如:『abc』— 不合法『123』— 不合法『abc123』— 不合法『abc123ahs』— 合法
name = input('輸入使用者名稱:')
if 'a'<=name[0] <='z':
num_count = 0
for x in name[1:]:
if not ('0' <= x <= '9' or 'a' <= x <= 'z' or 'a' <= x <= 'z'):
print('不合法')
break
else:
if '0' <= x <= '9':
num_count += 1
else:
if num_count >0:
print('合法')
else:
print('不合法')
else:
print('不合法')
輸入乙個字串,將字串中所有的數字字元取出來產生乙個新的字串
例如:輸入**『abc1shj23kls99+2kkk』** 輸出:'123992』
str1 = input('輸入字串:')
new = [ x for x in str1 if '0'<= x <='9']
print(''.join(new))
法二:str1 = input('輸入字串:')
new_str1 = ''
for x in str1:
if '0' <= x <= '9':
new_str1 += x
print(new_str1)
輸入乙個字串,將字串中所有的小寫字母變成對應的大寫字母輸出 (用upper方法和自己寫演算法兩種方式實現)
例如: 輸入**『a2h2klm12+』 ** 輸出'a2h2klm12+'
法一:
str1 = input('輸入字串:')
print(str1.upper())
法二:str1 = input('輸入字串:')
new = [ chr(ord(x)-32) if 'a'<= x <='z' else x for x in str1 ]
print(''.join(new))
法三:str1 = input('輸入字串:')
new_str1 = ''
for x in str1:
if 'a' <= x <= 'z':
u = chr(ord(x) - 32)
new_str1 += u
else:
new_str1 += x
print(new_str1)
輸入乙個小於1000的數字,產生對應的學號
例如: 輸入**『23』,輸出』py1901023』** 輸入**『9』, 輸出』py1901009』** 輸入**『123』,輸出』py1901123』**
num = input('輸入1000以內的數字:')
result = 'py1901'+(3 - len(num)) * '0' +num !!!!字串的拼接用加號
print(result)
法二:num = input('輸入1000以內的數字:')
result = 'py1901' + num.zfill(3) + num
print(result)
法三:num = int(input('輸入1000以內的數字:'))
result = 1901000 + num
print(f'py')
輸入乙個字串,統計字串中非數字字母的字元的個數
例如: 輸入**『anc2+93-sj胡說』** 輸出:4輸入**』===』** 輸出:3
str1 = input("輸入字串:")
print(len([x for x in str1 if not ('a' <=x <='z' or 'a'<= x <='z' or '0'<=x<='9')]))
輸入字串,將字串的開頭和結尾變成』+』,產生乙個新的字串
例如: 輸入字串**『abc123』, 輸出』+bc12+』**
str1 = input("輸入字串:")
print('+'+str1[1:-1]+'+') !!!切片與拼接
輸入字串,獲取字串的中間字元
例如: 輸入**『abc1234』** 輸出:『1』輸入**『abc123』** 輸出**『c1』**
str1 = input("輸入字串:")
a = len(str1)
b = a // 2
if a & 1:
print(str1[b])
else:
print(str1[b-1:b])
寫程式實現字串函式find/index的功能(獲取字串1中字串2第一次出現的位置)
例如: 字串1為:how are you? im fine, thank you!, 字串2為:you, 列印8
print('abbcd'.index('b')) # 1
print('abbcd'.index('bc')) # 2
# print('abbcd'.index('bd')) # 報錯
print('abbcd'.find('ac')) # find在不存在時返回-1
str1 = 'how are you? im fine, thank you!'
str2 = 'you'
n = len(str2)
for x in range(len(str1)-n + 1):
if str1[x : x+n] == str2:
print(x)
break
else:
print('沒有!')
獲取兩個字串中公共的字元
例如: 字串1為:abc123, 字串2為:huak3, 列印:公共字元有:a3
str1 = set('abc123')
str2 = set('huak3')
common = str1 & str2
print(''.join(common))
法二:str1 = 'abc123'
str2 = 'huak3'
str3 = ''
for x in str1:
if x in str2 and x not in str3:
str3 += x
print(str3)
注:
print('a' in 'abc') # true
print('ab' in 'abc') # true
print('ac' in 'abc') # false
2021 1 28 day8 字串作業
輸入乙個字串,列印所有奇數字上的字元 下標是1,3,5,7 位上的字元 例如 輸入 abcd1234 輸出 bd24 str1 abcd1234 new x for x in str1 1 len str1 1 2 print join new 輸入使用者名稱,判斷使用者名稱是否合法 使用者名稱長度...
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 輸入使用者名稱,判斷使用者名稱是否合...