qiurenburuqiuji 发表于 2022-4-1 21:31:11

请求大佬

# 16.输出100-1000之间的回文偶数(回文偶数:正着读和倒着读一样的数,并且能被2整除,如626)
有没有大佬知道这道题怎么做啊
能否解释一下什么是回文数啊

柿子饼同学 发表于 2022-4-1 21:39:03

本帖最后由 柿子饼同学 于 2022-4-1 22:27 编辑

用切片
n = input("请输入一个数: ")
if not n % 2:
        if n == n[::-1]:
           print("是回文偶数")
        else:
           print("不是回文偶数: ")
else:
        print("不是偶数")

isdkz 发表于 2022-4-1 21:46:27

回文数就是正着读和倒着读都一样的数

for i in range(100, 1000):
    if i % 10 == 0:
      continue
    elif i % 2 == 0:
      temp = i
      revertedNumber = 0
      while temp > revertedNumber:
            revertedNumber = revertedNumber * 10 + temp % 10
            temp //= 10

      if temp == revertedNumber or temp == revertedNumber // 10:
            print(i)

傻眼貓咪 发表于 2022-4-1 22:12:15

]

qq1151985918 发表于 2022-4-1 22:21:39

def isPalindrome(num):
    if str(num) == str(num)[::-1]:
      return True
    else:
      return False
      
def isEven(num):
    if int(num) % 2:
      return False
    else:
      return True
      
if __name__ == '__main__':
    for i in range(100, 1001):
      if isPalindrome(i) and isEven(i):
            print(i)

ba21 发表于 2022-4-1 22:26:29

def test(n):   
    if n%2==0 and str(n)==str(n)[::-1]:
      return True
    else:         
      return False
            
nums = list(range(100,1001))
newNums = list(filter(test, nums))
print(newNums)
页: [1]
查看完整版本: 请求大佬