首先,得知道什麼是回聯文?
回文聯,它是我國對聯中的一種。用回文形式寫成的對聯,既可順讀,也可倒讀。不僅它的意思不變,而且頗具趣味。是我國的重要文化之一。
方法一:此方法將前後的元素作對比,前後元素一致,則表示是回聯文
def huilian(setence):
length = len(setence)
count = 0
for i in range(length//2):
if setence[i] == setence[-(i+1)]: # 將前後的字元對比,若都相同,則count加1
count += 1
else:
print("不是回文聯")
break
if count == length // 2: # count數等於遍歷的長度,則表示是回聯文
print("是回文聯!!!")
sentence = input("請輸入一句話:")
huilian(sentence)
方法二:此方法和方法一類似,只是if-else的條件作了交換,只要前後的某一對元素不一致,則表示不是回聯文
def huilianwen(setence):
length = len(setence)
last = length - 1
flag = 1
for i in range(length // 2):
if setence[i] != setence[last]:
# 如果出現前後不等的情況,flag的值記為0;當flag為0時,表示不是回聯文
flag = 0
last -= 1
if flag == 1:
return "是回聯文!"
else:
return "不是回聯文!"
sentence = input("請輸入一句話:")
print(huilianwen(sentence))
方法三:將輸入的字串轉化為列表,將列表翻轉,比較翻轉前後的列表是否相同,相同則表示是回聯文
def huilianwen(string):
list1 = list(string)
list2 = list(reversed(list1)) # 這裡用到了reversed()函式,ta返回的是乙個迭代器物件,需要將其轉化為列表的形式
if list1 == list2:
print('是回聯文')
else:
print("不是回聯文")
strings = input("輸入一段話:")
huilianwen(strings)
方法四:使用遞迴
def huilian(str, start, end):
if start > end: # 結束條件,當start > end時,就是首尾交叉的時候
return 1
else:
return huilian(str, start + 1, end - 1) if str[start] == str[end] else 0
string = input('請輸入一串字串:')
length = len(string) - 1
if huilian(string, 0, length):
print("大兄弟,是回聯文了啦!!!")
else:
print("大妹砸,不是回聯文,o(∩_∩)o哈哈哈~")
Leetcode練習《十二》 判斷整數是否為回文
determine whether an integer is a palindrome.do this without extra space.判斷乙個整數是否是回文 不能使用新的空間 我的理解就是不能使用新的變數來儲存資料 思路很簡單 就是先取最高位 再取最低位 兩個比較是否相等 相等的話就接著...
C 小練習(判斷某年是否為閏年)
程式頭部注釋開始 程式的版權和版本宣告部分 檔名稱 作 者 臧鵬 完成日期 2012 年 9月 16日 版 本 號 001 對任務及求解方法的描述部分 輸入描述 問題描述 輸入乙個年份,判斷是否潤年 被4整除,且不被100整除,或者被400整除 程式輸出 程式頭部的注釋結束 using system...
python 判斷是否為中文
python在執行 過程是不知道這個字元是什麼意思的 是否是中文,而是把所有 翻譯成二進位制也就是000111這種形式,機器可以看懂的語言。也就是在計算機中所有的字元都是有數字來表示的。漢字也是有數字表示的,unicdoe4e00 9fff表示中文,所以如果乙個字元的utf 8編碼在這個區間內,就說...