# 1.輸入乙個字串,列印所有奇數字上的字元(下標是1,3,5,7…位上的字元)
# 例如: 輸入**'abcd1234 ' ** 輸出**'bd24'**
a = 'abcjdnkwu11234jwe'
print(a[1::2])
# 2.輸入使用者名稱,判斷使用者名稱是否合法(使用者名稱長度6~10位)
# id_name = input('輸入使用者名稱:')
# s = len(id_name)
# if 6 <= s <= 10:
# print('使用者名稱合法')
# else:
# print('使用者名稱不合法')
# 3.輸入使用者名稱,判斷使用者名稱是否合法(使用者名稱中只能由數字和字母組成)
# 例如: **'abc'** — 合法 **'123'** — 合法 **『abc123a』** — 合法
# id_name = input('輸入使用者名稱:')
# count = 0
# for x in id_name:
# if ('a' <= x <= 'z' or 'a' <= x <= 'z') or '0' <= x <= '9':
# pass
# else:
# count += 1
# if count > 0:
# print('不合法')
# else:
# print('合法')
# 方法2
# id_name = input('輸入使用者名稱:')
# a =
# username_element_list = ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
# 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
# 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
# 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
# '1', '2', '3', '4', '5', '6', '7', '8', '9')
# 4.輸入使用者名稱,判斷使用者名稱是否合法(使用者名稱必須包含且只能包含數字和字母,並且第乙個字元必須是大寫字母)
# 例如: **'abc'** — 不合法 **'123'** — 不合法 **'abc123'** — 不合法 **'abc123ahs'** — 合法
# id_name = input('輸入使用者名稱:')
# count = 0
# for x in id_name:
# if 'a' <= id_name[0] <= 'z' and (('a' <= x <= 'z' or 'a' <= x <= 'z') or '0' <= x <= '9'):
# pass
# else:
# count += 1
# if count > 0:
# print('不合法')
# else:
# print('合法')
# 5.輸入乙個字串,將字串中所有的數字字元取出來產生乙個新的字串
# 例如:輸入**'abc1shj23kls99+2kkk'** 輸出:**'123992'**
# a = 'abc1shj23kls99+2kkk'
# str1 = ''
# for x in a:
# if '0' <= x <= '9':
# str1 += x
# print(str1)
# 6.輸入乙個字串,將字串中所有的小寫字母變成對應的大寫字母輸出 (用upper方法和自己寫演算法兩種方式實現)
# 例如: 輸入**'a2h2klm12+' ** 輸出 **'a2h2klm12+'**
# upper
a = 'a2h2klm12+'
print(str.upper(a))
# 方法2
str = input("請輸入字串:")
str1 = ''
for x in str:
if 'a' <= x <= 'z':
m = chr(ord(x)-32)
str1 += m
print(str1)
# 7.輸入乙個小於1000的數字,產生對應的學號
# 例如: 輸入**'23'**,輸出**'py1901023'** 輸入**'9'**, 輸出**'py1901009'**
# 輸入**'123'**,輸出**'py1901123'**
# num = input('輸入乙個小於1000的數:')
# char = 'py1901'
# if len(num) <= 1:
# print(char+'00'+num)
# if 2 <= len(num) < 3:
# print(char+'0'+num)
# if 3 <= len(num) < 4:
# print(char+num)##
# stu_num = 'py1901'
# str1 = '0'
# num = input("請輸入學號後三位:")
# if int(num) < 100:
# stu_num = stu_num + num.zfill(3)
# else:
# stu_num = stu_num + num
# print(stu_num)
# 8.輸入乙個字串,統計字串中非數字字母的字元的個數
# 例如: 輸入**'anc2+93-sj胡說'** 輸出:**4** 輸入**'==='** 輸出:**3**
# a = 'anc2+93-sj胡說'
# list1 =
# for x in a:
# if x not in '0' <= x <= '9':
# elif 'a' <= x <= 'z' or 'a' <= x <= 'z':
# else:
# pass
# print(len(a) - len(list1))
# 9.輸入字串,將字串的開頭和結尾變成'+',產生乙個新的字串
# 例如: 輸入字串**'abc123'**, 輸出**'+bc12+'**
# str1 = 'abc123'
# str2 = ''
# for x in str1:
# if x == str1[0] or x == str1[-1]:
# str2 += '+'
# else:
# str2 += x
# print(str2)
# 10.輸入字串,獲取字串的中間字元
# 例如: 輸入**'abc1234'** 輸出:**'1'** 輸入**'abc123'** 輸出**'c1'**
# str1 = input('輸入字串:')
# a = len(str1)
# if a % 2 == 0:
# print(str1[int((a-1) / 2)], str1[int(a / 2)])
# else:
# print(str1[int(a / 2)])
# 11.寫程式實現字串函式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'
count = 0
for x in str1:
for y in str2:
if x == y:
pass
print(len(y))
# print(len(str1))
# print(len(str2))
# 12.獲取兩個字串中公共的字元
# 例如: 字串1為:**abc123**, 字串2為: **huak3** , 列印:**公共字元有:a3**
# str1 = 'abc123'
# str2 = 'huaak3'
# str3 = ''
# for x in str1:
# if x in str2:
# str3 += x
# print(str3)
字串作業
5 10x 5 13 y 1 a b x 9 5 x 12 x y 輸入月薪 num input input salary per month salary int num 12 print salary 複製100遍 a 愛你100遍 b a 100print b 到這輸出字串 a to be o...
字串作業
輸入乙個字串,列印所有奇數字上的字元 下標是1,3,5,7 位上的字元 例如 輸入 abcd1234 輸出 bd24 str input 請輸入乙個字串 x 0while x len str if x 2 0 print str x x 1輸入使用者名稱,判斷使用者名稱是否合法,使用者名稱的要求 長...
ACM 字串作業整理
a b c kmp的模板題,注意資料範圍 d 利用next陣列求迴圈節,可以注意到最大迴圈節的長度len為n next n 如果n len為0,則不用新增額外的字元,否則需要新增len n len 個字元 具體 與思路描述有差異,這與打法有關。e manacher的變形,只需要在更新回文串長度的時候...