python字符串相关习题
目錄
1、判斷下面標識符是否合法并說明不合法的原因
2、從控制臺輸入圓的半徑,計算周長和面積, π=3.14
?3、一輛汽車以40km/h的速度行駛,行駛了4567.89km,求所用的時間
4、華氏溫度轉攝氏溫度
?5、入職薪水10K,每年漲幅入職薪水的5%,50年后工資多少?
6、?為抵抗洪水,戰士連續作戰89小時,編程計算共多少天零多少小時?
?7、給定一個5位數,分別把這個數字的萬位,千位,百位、十位、個位算出來并顯示。
8、總共有5678秒, 轉換成多少小時,多少分鐘, 多少秒
?9、輸入一個字符串,打印所有奇數位上的字符(下標是1,3,5,7…位上的字符)
10、輸入用戶名,判斷用戶名是否合法,用戶名的要求: 長度為6~10位
11、輸入字符串,獲取字符串的中間字符 ?
?12、輸入字符串,將字符串的開頭和結尾變成'+',產生一個新的字符串
?13、輸入用戶名,判斷用戶名是否合法,用戶名的要求:用戶名中只能由數字或者字母組成
?14、輸入一個字符串,判斷字符串中有多少個字母?多少個數字?多少個其他符號
15、以下是一段歌詞,請從這段歌詞中統計出朋友出現的次數。
16、編寫敏感詞過濾程序 ?
17、判斷輸入的字符串是否是 .py 結束 ?
18、輸入一個字符串,將字符串中所有的數字符取出來產生一個新的字符串 ?
?19、輸入一個字符串,將字符串中所有的小寫字母變成對應的大寫字母輸出
?20、輸入用戶名,判斷用戶名是否合法,用戶名的要求:必須有數字和字母且只能有數字和字母,并且第一個字符是大寫字母
?21、輸入兩個字符串,打印第二個字符串在第一個字符串中第一次出現的位置(位置用正索引值表示)
22、輸入兩個字符串,打印兩個字符串中公共的字符,如果沒有公共字符打印 公共字符不存在
1、判斷下面標識符是否合法并說明不合法的原因
# @abc.com =>
# 123ok =>
# _xiaoming =>
# Xiaoming_$ =>
# interface =>
# sina@163 =>
def judge(s):if ((s[0] == '@') or (s[0] == '_')):print('標識符不合法,不能以特殊字符開頭')if ( '0'< s[0] < '9'):print('標識符錯誤,不能以數字開頭')if __name__ == '__main__':s = '@abc.com 'judge(s)2、從控制臺輸入圓的半徑,計算周長和面積, π=3.14
pi = 3.1415 b = int(input('請輸入圓的半徑:')) print('周長為:%.3f ,面積為:%.3f' % (2*pi*b,pi*b**2))?
?3、一輛汽車以40km/h的速度行駛,行駛了4567.89km,求所用的時間
lines = 4567.89 su = 40 t = lines/su print('所用時間為:%.2f小時' % t)4、華氏溫度轉攝氏溫度
?【提示:將華氏溫度轉換為攝氏溫度(F是華氏溫度) F = 1.8C + 32】
n = int(input('請輸入華式溫度:')) c = (n - 32) / 1.8 print('轉換為攝氏度為:%.3f' % c)?5、入職薪水10K,每年漲幅入職薪水的5%,50年后工資多少?
salary = 10000 years_salary = ((1 + 0.05)**50) * salary print(years_salary)6、?為抵抗洪水,戰士連續作戰89小時,編程計算共多少天零多少小時?
times = 80 hours = times % 24 days = times // 24 print('共%d天,零%d小時' % (days,hours))?7、給定一個5位數,分別把這個數字的萬位,千位,百位、十位、個位算出來并顯示。
如: 34567
num = 34567# wan = num // 10000 # 3 # # qian = num % 10000 // 1000 # 4 # qian = num // 1000 % 10 # 4 # # bai = num % 1000 // 100 # 5 # bai = num //100 % 10 # 5 # # shi = num % 100 // 10 # 6 # shi = num //10 % 10 # 6 # ge = num // 1 % 10 # 7 # print(wan,qian,bai,shi,ge) while num > 0:a = num % 10print(a)num //= 10從個位開始往后
8、總共有5678秒, 轉換成多少小時,多少分鐘, 多少秒
times = 5678 hour = times // 3600 minutes = times % 3600 // 60 seconds = times % 60 print('%s小時%s分鐘%s秒' % (str(hour),str(minutes),str(seconds)))?9、輸入一個字符串,打印所有奇數位上的字符(下標是1,3,5,7…位上的字符)
例如: 輸入**'abcd1234 ’ ** 輸出**‘bd24’**
s = input('請輸入一個字符串:') print(s[1::2])#下標為奇數,所以從1開始10、輸入用戶名,判斷用戶名是否合法,用戶名的要求: 長度為6~10位
name = input('請輸入用戶名:') if 6 < len(name) < 10:print('用戶名合法') else:print('用戶名不合法')11、輸入字符串,獲取字符串的中間字符 ?
例如:輸入'abc1234' 輸出:'1' 輸入'abc123' 輸出'c1'
s = input('請輸入一個字符:') if (len(s) % 2 == 0):print(s[len(s) // 2 - 1],s[(len(s) // 2) ]) else:print(s[len(s) // 2])?
?12、輸入字符串,將字符串的開頭和結尾變成'+',產生一個新的字符串
s = input('請輸入一個字符串:') str = [] for i in range(len(s)):if ((i == 0) or (i == len(s) - 1)):str +='+'continuestr += s[i] print(''.join(str))?13、輸入用戶名,判斷用戶名是否合法,用戶名的要求:用戶名中只能由數字或者字母組成
例如: 'abc' — 合法 '123' — 合法 'abc123a' — 合法 'abc-23' — 不合法
s = input('請輸入用戶名:') for i in range(len(s)):if ( '0' < s[i] < '9') or ( 'a'< s[i] < 'z') or ( 'A'< s[i] < 'Z'):continueelse:print('用戶名不合法')break else:print('用戶名合法')?14、輸入一個字符串,判斷字符串中有多少個字母?多少個數字?多少個其他符號
num = 0 char = 0 other = 0 s = input('請輸入一個字符串:') for i in range(len(s)):if ( '0' <= s[i] <= '9'):num +=1continueif (('a' <= s[i] <= 'z') or ('A' <= s[i] <= 'Z')):char +=1continueelse:other +=1 print('字母有:%d個,數字有:%d個,其它符號有:%d個' % (char,num,other))15、以下是一段歌詞,請從這段歌詞中統計出朋友出現的次數。
這些年一個人,風也過,雨也走,有過淚,有過錯, 還記得堅持甚么,真愛過才會懂,會寂寞會回首,終有夢終有你在心中。朋友一生一起走,那些日子不再有,一句話,一輩子,一生情,一杯酒。朋友不曾孤單過,一聲朋友你會懂,還有傷,還有痛,還要走,還有我?
s = '這些年一個人,風也過,雨也走,有過淚,有過錯, 還記得堅持甚么,' \'真愛過才會懂,會寂寞會回首,終有夢終有你在心中。朋友一生一起走,那些日子不再有,' \'一句話,一輩子,一生情,一杯酒。朋友不曾孤單過,一聲朋友你會懂,還有傷,還有痛,還要走,還有我。' print(s.count('朋友'))?
16、編寫敏感詞過濾程序 ?
說明:在網絡程序中,如聊天室、聊天軟件等,經常需要對一些用戶所提交的聊天內容中的敏感性詞語進行過濾。如“性”、“色情”、“爆炸”、“恐怖”、“槍”、“軍火”等,這些都不可以在網上進行傳播,要求輸入一段文本,如果包含以上的敏感詞匯,需要*替換掉
例如:“性感小伙 軍火走私 原地爆炸” ---- 結果為 "*感小伙 **走私 原地**"
敏感詞幾個字 使用幾個*代替
s = '性感小伙 軍火走私 原地爆炸' new_s = s.replace('性','*').replace('色情','**').replace('爆炸','**').replace('恐怖','**').replace('軍火','**')print(new_s)17、判斷輸入的字符串是否是 .py 結束 ?
s = input('請輸入字符串:') print(s.endswith('.py'))18、輸入一個字符串,將字符串中所有的數字符取出來產生一個新的字符串 ?
?例如: 輸入'abc1shj23kls99+2kkk' 輸出 '123992'
s = input('請輸入一個字符串:') str = [] for i in range(len(s)):if ( '0' <= s[i] <= '9'):str +=s[i] print(''.join(str))?19、輸入一個字符串,將字符串中所有的小寫字母變成對應的大寫字母輸出
例如: 輸入'a2h2klm12+' 輸出 'A2H2KLM12+
s = '8576sdfhkj' a = [] for i in range(len(s)):if ('a' <= s[i] <= 'z'):a.append(chr(ord(s[i]) - 32))continuea.append(s[i]) t = ''.join(a) print(t)?20、輸入用戶名,判斷用戶名是否合法,用戶名的要求:必須有數字和字母且只能有數字和字母,并且第一個字符是大寫字母
例如: 'Abc' — 不合法 '123' — 不合法 'abc123' — 不合法 'Abc123ahs' — 合法
?
s = input('請輸入用戶名:') num = 0 char = 0 flag = False#標識是否不合法 for i in range(len(s)):if (s[0] < 'A' or s[0] > 'Z'):flag = Trueprint('用戶名不合法')breakif ('0' <= s[i] <= '9'):num += 1if ('a' <= s[i] <= 'z' or 'A' <= s[i] <= 'Z'):char += 1if (num <= 0 and flag == False):print('用戶名不合法')breakif (char <= 0 and flag == False):print('用戶名不合法')break else:print('用戶名合法')?
?21、輸入兩個字符串,打印第二個字符串在第一個字符串中第一次出現的位置(位置用正索引值表示)
例如:
字符串1為: 'how are you? Im fine, Thank you!' , 字符串2為:'you', 打印 8 (字符串1中第一個 you 的第一個字符的索引是8)
字符串1為:'how are you? Im fine, Thank you!',字符串2為:'me', 打印 不存在
str1 = 'how are you? Im fine, Thank you!' str2 = 'yT' for i in range(0, len(str1)):if str1[i] == str2[0]:if str1[i:i + len(str2)] == str2:print(i)break else:print('不存在')22、輸入兩個字符串,打印兩個字符串中公共的字符,如果沒有公共字符打印 公共字符不存在
例如:字符串1為 abc123 , 字符串2為 huak3 , 打印 a3
str1 = input('請輸入第一個字符:') str2 = input('請輸入第二個字符:') count = 0 str3 = [] for s1 in str1:if (s1 in str2):if (s1 not in str3):str3 +=s1count +=1 if (count == 0):print('不存在公共字符')?
?
?
總結
以上是生活随笔為你收集整理的python字符串相关习题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 麦子mysql_[数据库]MySQL基础
- 下一篇: websocket python爬虫_p