# -*- coding = utf-8 -*-
# @time: 2020/12/17 9:29
# author: ykl
# 1.輸入乙個字串,列印所有奇數字上的字元(下標是1,3,5,7…位上的字元)
# 例如: 輸入**'abcd1234 ' ** 輸出**'bd24'**
str1 =
'abcd1234 '
for x in
range
(len
(str1)):
if x &1:
print
(str1[x]
,end='')
# 2.輸入使用者名稱,判斷使用者名稱是否合法(使用者名稱長度6~10位)
user_name =
input
('請輸入使用者名稱1:')if
6<=
len(user_name)
<=10:
print
('輸入合法'
)else
:print
('輸入不合法,使用者名稱長度6~10位'
)# 3.輸入使用者名稱,判斷使用者名稱是否合法(使用者名稱中只能由數字和字母組成)
# 例如: **'abc'** — 合法 **'123'** — 合法 **『abc123a』** — 合法
user_name =
input
('請輸入使用者名稱2:'
)for x in user_name:
if'z'
< x <
'a'or
'9'< x <
'a'or x <
'0'or x >
'z':
print
('輸入不合法,使用者名稱中只能由數字和字母組成'
)break
else
:print
('輸入合法'
)# 4.輸入使用者名稱,判斷使用者名稱是否合法(使用者名稱必須包含且只能包含數字和字母,並且第乙個字元必須是大寫字母)
# 例如: **'abc'** — 不合法 **'123'** — 不合法 **'abc123'** — 不合法 **'abc123ahs'** — 合法
user_name =
input
('請輸入使用者名稱3:'
)count =
1for x in user_name:
if count ==1:
if x <
'a'or x >
'z':
print
('輸入不合法,第乙個字元必須是大寫字母'
)break
if'z'
< x <
'a'or
'9'< x <
'a'or x <
'0'or x >
'z':
print
('輸入不合法,使用者名稱中只能由數字和字母組成'
)break
count +=
1else
:for x in
'0123456789'
:if x in user_name:
count =
true
break
else
:print
('使用者名稱中必須包含數字'
)if count ==
true
:print
('輸入合法'
)# 5.輸入乙個字串,將字串中所有的數字字元取出來產生乙個新的字串
# 例如:輸入**'abc1shj23kls99+2kkk'** 輸出:**'123992'**
str2 =
'abc1shj23kls99+2kkk'
new_str2 =
''for x in str2:
if'0'
<= x <=
'9':
new_str2 += x
print
(new_str2)
# 6.輸入乙個字串,將字串中所有的小寫字母變成對應的大寫字母輸出 (用upper方法和自己寫演算法兩種方式實現)
# 例如: 輸入**'a2h2klm12+' ** 輸出 **'a2h2klm12+'**
str3 =
'a2h2klm12+'
# upper方法
new_str3 = str3.upper(
)print
(new_str3)
# 自己的
for x in str3:
if'a'
<= x <=
'z':
str3 = str3.replace(x,
chr(
ord(x)-32
))print
(str3)
# 7.輸入乙個小於1000的數字,產生對應的學號
# 例如: 輸入'23',輸出'py1901023' 輸入'9', 輸出'py1901009' 輸入'123',輸出'py1901123'
user_id =
input
('輸入乙個小於1000的數字:'
)str4 =
'py1901'
iflen
(user_id)==1
: result = str4 +
'00'
+ user_id
elif
len(user_id)==2
: result = str4 +
'0'+ user_id
else
: result = str4 + user_id
print
(result)
# 8.輸入乙個字串,統計字串中非數字字母的字元的個數
# 例如: 輸入**'anc2+93-sj胡說'** 輸出:**4** 輸入**'==='** 輸出:**3**
str5 =
'anc2+93-sj胡說'
count =
0for x in str5:
if'z'
< x <
'a'or
'9'< x <
'a'or x <
'0'or x >
'z':
count +=
1print
('非數字字母個數:'
, count)
# 9.輸入字串,將字串的開頭和結尾變成'+',產生乙個新的字串
# 例如: 輸入字串**'abc123'**, 輸出**'+bc12+'**
str6 =
'abc123'
new_str6 = str6.replace(str6[0]
,'+'
)result = new_str6.replace(new_str6[-1
],'+')
print
(result)
# 10.輸入字串,獲取字串的中間字元
# 例如: 輸入**'abc1234'** 輸出:**'1'** 輸入**'abc123'** 輸出**'c1'**
str7 =
'abc1234'
iflen
(str7)&1
:print
(str7[
len(str7)//2
])else
:print
(str7[
len(str7)//2
-1], str7[
len(str7)//2
])# 11.寫程式實現字串函式find/index的功能(獲取字串1中字串2第一次出現的位置)
# 例如: 字串1為:**how are you? im fine, thank you!** , 字串2為:**you**, 列印**8**
str8 =
'how are you? im fine, thank you!'
find_str =
'you'
for x in
range
(len
(str8)):
if str8[x]
== find_str[0]
:for y in
range(1
,len
(find_str)):
if find_str[y]
!= str8[x+y]
:break
else
:print
(x)break
# 12. 獲取兩個字串中公共的字元
# 例如: 字串1為:**abc123**, 字串2為: **huak3** , 列印:**公共字元有:a3**
str9 =
'abc123'
str10 =
'huak3'
for x in str9:
if x in str10:
print
(x,end=
' ')
1 28字串作業
輸入乙個字串,列印所有奇數字上的字元 下標是1,3,5,7 位上的字元 例如 輸入 abcd1234 輸出 bd24 str1 input 請輸入乙個字串 for x in range 1 len str1 1 2 print str1 x end 輸入使用者名稱,判斷使用者名稱是否合法 使用者名稱...
08字串轉換整數 atoi
參考文獻 實現乙個atoi函式,使其能將字串轉換成整數 example 輸入 42 輸出 42首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字...
Python學習之路08 字串
字串是不可變資料型別,建立後不可修改 只能新建乙個字串,用原來的標籤去覆蓋它 使用 或 建立字串 s1 i love you s1 i love you 使用 或 建立跨多行的字串 s2 從前車馬很慢 書信很長 一生只夠愛一人 s2 從前車馬很慢 n書信很長 n一生只夠愛一人 print s2 從前...