1. 程式人生 > >python判斷一個整數是否是迴文數

python判斷一個整數是否是迴文數

判斷一個整數是否是迴文數(整數不含前導零)

思路:將整數翻轉後判斷是否與原整數相等

           簡單的翻轉方法用到切片(Slice),將整數強制轉換為字串,用切片[ : : -1] 翻轉後比較

程式碼:

# -*- coding: UTF-8 -*-
def is_palindrome(n):
	n=str(n)
	m=int(n[::-1])
	n=int(n)
	return n==m

# 測試:
output = filter(is_palindrome, range(1, 1000))
print('1~1000:', list(output))
if list(filter(is_palindrome, range(1, 200))) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191]:
    print('測試成功!')
else:
    print('測試失敗!')

結果:

相關推薦

python判斷一個整數是否是

判斷一個整數是否是迴文數(整數不含前導零) 思路:將整數翻轉後判斷是否與原整數相等            簡單的翻轉方法用到切片(Slice),將整數強制轉換為字串,用切片[ : : -1] 翻轉後

輸入一個整數判斷其是否是是指這個數顛倒後,和原相同那個。

1 public static void main(String[] args) { 2 System.out.println("請輸入一個整數:"); 3 Scanner input = new Scanner(System.in); 4 int

PAT乙級——1079(大整數相加 判斷 邊界點)Java實現

題目:延遲的迴文數 (20 分) 給定一個 k+1 位的正整數 N,寫成 a​k⋯a1​​ a​0​​ 的形式,其中對所有 i 有 0 ≤ a​i​​ < 10 且 a​k > 0。N 被稱為一個迴文數,當且僅當對所有 i 有 a​i​​ = a​k − ai​​ 。零也

Python學習日記】判斷是不是 filter

大神答案: def is_palindrome(n): n=str(n) m=n[::-1] return n==m 我的答案: tmp_str = str(n) i = len(tmp_str) - 1 j = 0

36-輸入一個五位數,判斷是不是

#include <stdio.h> #include <stdlib.h> /* 一個5位數,判斷它是不是迴文數。即12321是迴文數,個位與萬位相同,十位與千位相同。  */ main() { int num,weishu,temp;

判斷一個字串是否

function isPalindrome(s){ var arr=s.split(''); arr.reverse(); var newStr=arr.join(''); ret

python入門習題——9,(簡單)

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文

leetcode 9. Palindrome Number(判斷是不是)

題目要求: 判斷一個整數是不是迴文數, 返回 true or false。 迴文數的定義:在數學中 設n是一任意自然數。若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n=1234321,則稱n為一回文數;但若n=1234567,則n不是迴文數。(來源百度百

C++ 如何判斷一個數為

如果一個數從左邊讀和從右邊讀都是同一個數, 就稱為迴文數 解答: 思想最簡單的方法就是模擬,把各個數位取出來,然後比較。當然這種方法比較麻煩。 我們這次要用的方法如下:既然是迴文數,那我們把各個數位上的數 正著 加起來跟 逆著 加起來的 和 是一樣的。運用這條性質我們就可以很

python輸入一個整數,輸出該二進位制表示中1的個數

# -*- coding:utf-8 -*-classSolution:defNumberOf1(self, n):# write code here cnt =0if n<0: n = n &0xffffffffwhil

判斷一個數為的最簡單實現

程式碼的核心就在於將一個數子一步步從個位數拆分開來,然後再將拆分得到的數字從高位向低位加起來。 如果得到的數字與原來的數字相等,則判斷為迴文數 #include <stdio.h> in

判斷一個數是否的巧妙解法

·迴文數的定義: 對於非負數 其左右兩邊完全相同 則是迴文。 e.g: 121 11 等 對於負數 其絕對值左右兩邊完全相同 則是迴文。 e.g: -121 -11 等 設計一個演算法判斷給定的數是

判斷一個整數是否為水仙花(迴圈分解,立方相加)

判斷一個數是否為水仙花數,最常規的做法就是:分解個十百位,立方相加與原數做相等判斷。現在我們來換種思路判斷一個三位正整數是否為水仙花數。程式碼如下:import java.util.*; class

python判斷輸入的正整數是不是 是指將一個整數從左往右排列和從右往左排列值一樣的

判斷輸入的正整數是不是迴文數,迴文數是指將一個正整數從左往右排列和從右往左排列值一樣的數(不用切片的寫法) def main(): num = int(input('請輸入一個正整數: ')) temp = num num2 = 0

演算法:給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數、判斷一個整數是否是

<!-- 給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 示例: 給定 nums = [2, 7, 11, 15], target = 9 因為 nums[0] + nums[1] = 2 + 7 = 9

判斷一個整數是不是 python實現

題目 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個

編寫一個函式判斷一個整數是否為。如果一個屬從正的方向讀和從反的方向讀的結果相同,則該就是

bool palindrome(int b){   int k = 0;   char a[1000];   do {     int c;     c = b % 10;     char d;     for (int i = 0; i <= 9; i++) {       if (c == i

演算法題集錦:1、判斷一個整數是否是

1、判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 方法一:字串切片   方法二:數字全部反轉,不考慮反轉後整數溢位問題(python中整型不會溢位)      方法三:數字反轉一半,考慮反轉後整數溢位問題(

判斷一個整數是否是

這段程式碼是我做leetcode練習題時寫的,雖然實現了迴文數的識別,但是倒置後的數字不是一個完整的數字,而是由幾個輸出拼接而成的,個人覺得不是很好,有點投機取巧的嫌疑。還望有高手指點。 package huiwenshu; import java.util.*; public clas

leetcode_判斷一個整數是否是C++

小弟不才,有錯誤之處,麻煩指出。謝謝。 判斷一個數是否是迴文數。 方法一:主要思路是把原本的數字(x)拆分開,組成一個數字(y),然後判斷x==y。 class Solution { public: bool isPalindrome(int x) { int i=0;