Skip to content
本站總訪問量
本站訪客數 人次

python-新手上路-Day11 | Test-4

1. 暖身(最近有點冷)

給你兩個整數,請判斷相加後的數字轉為字串,然後判斷該字串是否為迴文

Hint

迴文是指正序(從左向右)和倒序(從右向左)讀都是一樣的字串。

輸入:

100 1
1 1
9 9
111 111
0 -1

輸出:

101 True
2 True
18 False
222 True
-1 False

2. 重複文字只保留一個

這題要求我們處理字串中的重複字元,並產生兩種不同的結果:

題目解析

  • 第一行輸出:遇到重複字元時,只保留最早出現的那一個
  • 第二行輸出:遇到重複字元時,只保留最晚出現的那一個

解題思路:

  1. 對於第一行:從左到右掃描,遇到已經出現過的字元就跳過
  2. 對於第二行:從右到左掃描,遇到已經出現過的字元就跳過

輸入 1:

abacdaebc

輸出 1:

abcde (只留最早出現的相同文字) 
daebc (只留最晚出現的相同文字)

解釋:

  • a 在位置 0, 2 出現,保留最早的位置 0,最晚的位置 2
  • b 在位置 1, 7 出現,保留最早的位置 1,最晚的位置 7
  • c 在位置 3, 8 出現,保留最早的位置 3,最晚的位置 8

輸入 2:

fjgipqrgfjq

輸出 2:

fjgipqr
iprgfjq

3. 密碼規則

輸入: 輸入一個數 n 代表接下來會有 n 行需要檢查的密碼

輸出: 輸出密碼的等級

處理: 請撰寫一程式,要求使用者輸入一個密碼(字串),檢查此密碼等級。

密碼規則如下:

  1. 必須至少八個字元。
  2. 包含英文字母和數字。
  3. 有一個大寫英文字母。
  4. 有一個特殊符號(後面這些都算)~!@#$%^&_()\_+-_/<>,.[]\/

如果符合四個規則輸出【Strong】,如果符合三個規則輸出【Good】,如果符合二個規則輸出 【Nice】,如果只符合一個規則輸出【Normal】,如果都不符合則輸出【Week】

輸入:

39dghu#qdG
1122
GGaa55
77g9@1122555
7aaffGG
Accessible
Dfdf

輸出:

Strong
Week
Nice
Good
Nice
Normal
Week

4. 連續數字的最長子字串

給定一個字串s,找出s中最長的連續數字子字串之長度。

輸入 1:

abc123de689

輸出 1:

3

說明: abc123de689的最長連續數字子字串為123,其長度為3

輸入 2:

xyz

輸出 2:

0

說明: 找不到任何包含數字的子字串

5. 賣鴨子

輸入: 一正整數 n ,經過 n 個村莊

輸出: 接著 n 列:經過第?個村莊各賣出多少隻鴨子、剩餘多少隻鴨子 最後一列:出發時共 有多少隻鴨子

處理: 一個人趕著鴨子去每個村莊賣,每經過一個村莊賣去所趕鴨子的一半又一隻,試寫一支程式 計算經過 n 個村莊,最後來剩 m 隻鴨子,出發時總共有多少隻鴨子。

小挑戰

請用遞迴實做

輸入 1:

3 2

輸出 1:

經過第 3 個村莊 賣 4 隻,剩 2 隻鴨
經過第 2 個村莊 賣 8 隻,剩 6 隻鴨
經過第 1 個村莊 賣 16 隻,剩 14 隻鴨
出發時共 30 隻

輸入 2:

8 3

輸出 2:

經過第 8 個村莊 賣 5 隻,剩 3 隻鴨
經過第 7 個村莊 賣 10 隻,剩 8 隻鴨
經過第 6 個村莊 賣 20 隻,剩 18 隻鴨
經過第 5 個村莊 賣 40 隻,剩 38 隻鴨
經過第 4 個村莊 賣 80 隻,剩 78 隻鴨
經過第 3 個村莊 賣 160 隻,剩 158 隻鴨
經過第 2 個村莊 賣 320 隻,剩 318 隻鴨
經過第 1 個村莊 賣 640 隻,剩 638 隻鴨
出發時共 1278 隻

6. 巴斯卡三角形

試寫一程式印出指定大小之巴斯卡三角形

小挑戰

請用遞迴實做

輸入:

6

輸出:

[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]

看答案

Contributors

The avatar of contributor named as lucashsu95 lucashsu95

Changelog