python練習題之二

2021-08-19 16:43:09 字數 3388 閱讀 9920

python練習題之二:

# 1.字串最後乙個單詞的長度 

題目描述:計算字串最後乙個單詞的長度,單詞以空格隔開。 

輸入描述: 一行字串,非空,長度小於5000。

輸出描述: 整數n,最後乙個單詞的長度。

示例1:

輸入:hello world

輸出:5

具體思路解法如下;

str = input("請輸入乙個字串:")

str1 = str.split(" ")

a = len(str1[-1])

print ("該字串最後乙個單詞長度為:%d" %(a))

實現結果:

# 2. 計算字元個數

題目描述: 寫出乙個程式,接受乙個有字母和數字以及空格組成的字串,和乙個字元,然後輸出輸入字串中含有該字元的個數。不區分大小寫。

輸入描述: 輸入乙個有字母和數字以及空格組成的字串,和乙個字元。

輸出描述:輸出輸入字串中含有該字元的個數。

示例1:

輸入:abcdef a

輸出:1

具體解法思路如下:

str = input("請輸入乙個字串:")

zi = input("請輸入你要查詢的字元:")

a = 0

for i in str.upper() :

if zi.upper() == i :

a += 1

print ("該字元一共出現%d次" %(a))

實現結果如下:

# 3. 簡單密碼破解

題目描述:密碼是我們生活中非常重要的東東,我們的那麼一點不能說的秘密就全靠它了。哇哈哈. 接下來淵子要在密碼之上再加一套密碼,雖然簡單但也安全。

假設淵子原來乙個bbs上的密碼為zvbo9441987,為了方便記憶,他通過一種演算法把這個密碼變換成yuanzhi1987,這個密碼是他的名字和出生年份,怎麼忘都忘不了,而且可以明目張膽地放在顯眼的地方而不被別人知道真正的密碼。

他是這麼變換的,大家都知道手機上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就這麼簡單,淵子把密碼中出現的小寫字母都變成對應的數字,數字和其他的符號都不做變換,

宣告:密碼中沒有空格,而密碼中出現的大寫字母則變成小寫之後往後移一位,如:x,先變成小寫,再往後移一位,不就是y了嘛,簡單吧。記住,z往後移是a哦。

輸入描述:輸入包括多個測試資料。輸入是乙個明文,密碼長度不超過100個字元,輸入直到檔案結尾;

輸出描述:輸出淵子真正的密文

示例1:

輸入:yuanzhi1987

輸出:zvbo9441987

具體解法思路如下:

set = 

str = input("請輸入你要查詢的密碼:")

ls = len(str)

if ls > 100 :

print ("密碼過長,請輸入小於100字元!")

else :

for i in str :

if i == ' ' :

print ("輸入格式錯誤,請重新輸入!")

exit(0)

elif i.isupper() :

if i == 'z' :

else :

str1 = chr(ord(i)+33)

elif i.islower() :

if i == 'w' or i == 'x' or i == 'y' or i =='z' :

str2 = '9'

elif i == 't' or i == 'u' or i == 'v' :

str3 = '8'

elif i =='p' or i =='q' or i == 'r' or i == 's' :

str4 = '7'

elif i == 'm' or i == 'n' or i == 'o' :

str5 = '6'

elif i =='j' or i == 'k' or i == 'l' :

str6 = '5'

elif i == 'g' or i == 'h' or i == 'i' :

str7 = '4'

elif i == 'd' or i == 'e' or i == 'f' :

str8 = '3'

elif i == 'a' or i == 'b' or i == 'c' :

str9 = '2'

else :

str10 = "".join(set)

print ("密碼為%s" %(str10))

實現結果如下:

- 題目描述:

給定乙個正整數,編寫程式計算有多少對質數的和等於輸入的這個正整數,並輸出結果。輸

入值小於1000。

如,輸入為10, 程式應該輸出結果為2。(共有兩對質數的和為10,分別為(5,5),(3,7))

- 輸入描述:

輸入包括乙個整數n,(3 ≤ n < 1000)

- 輸出描述:

輸出對數

- 示例1 :

```輸入:

10輸出:

2具體解法思路如下:

set = 

x = 0

import math

for i in range(2,1000) :

a = int(math.sqrt(i))

for j in range(2,a+1) :

if i % j == 0 :

break

else :

num = int(input("請輸入你要查詢的數字:"))

num1 = int(num / 2)

for o in set :

if (num - o) in set :

if o <= num1 :

x += 1

print ("該數字有%s對質數和" %(x))

實現結果:

python練習題(二)

1.企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高 於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可可提 成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於 40萬元的部分,可提成3 60萬到10...

Python練習題(二)

1.python 裡 match 與 search 的區別?match 函式只檢測 re 是不是在 string 的開始位置匹配,search 會掃瞄整個 string 查詢匹配 也就是說 match 只有在 0 位置匹配成功的話才有返回,如果不是開始位置匹配成功的話,match 就返回 none。...

python書中練習題 python練習題

1 定義乙個空列表,接收從鍵盤輸入的整數,把列表傳給乙個從大到小排序的函式,再輸出排序後的列表的值 listex b 0 a int input 請輸入列表長度 while b a num int input 請輸入字元 b 1 print listex sum 0 for i in range 0...