a224: 明明愛明明
#a224: 明明愛明明
'''
一看題名,你就該知道,這次跟迴文脫不了關係!
若你不確定什麼是「迴文」,請看 Google 字典的解釋:
迴文 huíwén
一種修辭方式。
通過詞語反復迴環使用,表達二者互相依存或彼此制約的關係,
如“人人為我,我為人人”、“饒人不癡漢,癡漢不饒人”。
輸入說明
一筆測試資料一行,包含許許多多但總數不超過 1000 個的大小寫英文字母和標點符號。
不可思議的是,裡面不會有任何空白字元。
輸出說明
如果重新安排順序後,有辦法讓這一堆英文字母變成迴文的話,輸出「yes !」,否則輸出「no...」。
注意,大寫和小寫字母視為相同,即 A 和 a 是一樣的,並且,請忽視所有非英文字母的字元。
範例輸入 #1
ababa
bbaaa
Level
aaabbbcc
abcdefg
HowAreYouToday
A_man,_a_plan,_a_canal:_Panama.
yes !
yes !
yes !
no...
no...
no...
yes !
'''
def reversed_string(text):
if len(text) == 1:
return text
else:
return reversed_string(text[1:]) + text[:1]
print('a224: 明明愛明明')
print('一看題名,你就該知道,這次跟迴文脫不了關係!')
print('若你不確定什麼是「迴文」,請看 Google 字典的解釋:迴文')
while True:
s = (input('\n一個正整數n, (EOF 為結束) -->'))
if s == '':
print('程式結束')
break
c = s.lower()
c1 = list(c)
#print(c1,len(c1))
s1=''
for i in range (0,len(c1)) : #'去除輸入字串中的特殊字元,轉存到 s1
if (c1[i] >= "a" and c1[i] <= "z") or (c1[i] >= "0" and c1[i] <= "9"):
s1 = s1+s1.join(c1[i])
#print(s1)
print(str(s1),str(s1)[::-1] )
if str(s1) == str(s1)[::-1] :
print("Palindrome 迴文")
else:
print("Not Palindrome 不是迴文")
'''
s=s.lower()
a=reversed_string(s)
print(s,a)
if (s==a):
print('yes')
else:
print('No')'''
Python 3.7.9 (bundled)
>>> %Run a224.py
a224: 明明愛明明
一看題名,你就該知道,這次跟迴文脫不了關係!
若你不確定什麼是「迴文」,請看 Google 字典的解釋:迴文
一個正整數n, (EOF 為結束) -->Level
level level
Palindrome 迴文
一個正整數n, (EOF 為結束) -->ababa
ababa ababa
Palindrome 迴文
一個正整數n, (EOF 為結束) -->bbaaa
bbaaa aaabb
Not Palindrome 不是迴文
一個正整數n, (EOF 為結束) -->A_man,_a_plan,_a_canal:_Panama.
amanaplanacanalpanama amanaplanacanalpanama
Palindrome 迴文
一個正整數n, (EOF 為結束) -->
程式結束
>>>
沒有留言:
張貼留言