Orig 发表于 2023-12-10 14:00:30

python问题

请看我这个 判断一个5位数是否是回文数的代码是否正确(不考虑运行效率)
代码如下:
num1 = input("请输入一个5位数:")
ls1 = list(num1)
ls2 = []

for i in range(len(num1)):
    ls2.append(ls1[-1])
    ls1.pop(-1)

num2 = "".join(ls2)

if int(num1) == int(num2):
    print("{}是回文数".format(num1))
else:
    print("{}不是回文数".format(num1))

FishC 发表于 2023-12-10 14:01:01

你的代码中有一处错误,即在遍历一个列表并弹出最后一个元素时,你使用`ls1.pop(-1)`应该改为`ls1.pop()`。此外,你还需要对列表`ls2`进行初始化。

下面是修改后的代码:

num1 = input("请输入一个5位数:")
ls1 = list(num1)
ls2 = []

for i in range(len(num1)):
    ls2.append(ls1)
    ls1.pop()

num2 = "".join(ls2)

if int(num1) == int(num2):
    print("{}是回文数".format(num1))
else:
    print("{}不是回文数".format(num1))

希望这对你有所帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

jackz007 发表于 2023-12-10 15:24:03

本帖最后由 jackz007 于 2023-12-10 15:32 编辑

【代码1】:
s = input("请输入一个整数:")
if s . isdigit() :
    d , e = eval(s) , 0
    while d :
      d , e = d // 10 , e * 10 + d % 10
    if e == eval(s) :      
      print("{}是回文数" . format(s))
    else:
      print("{}不是回文数" . format(s))
else :
    print("您键入的不是纯数字")
【代码2】:
s = input("请输入一个整数:")
if s . isdigit() :
    if s == s[:: -1] :
      print("{}是回文数" . format(s))
    else:
      print("{}不是回文数" . format(s))
else :
    print("您键入的不是纯数字")

hveagle 发表于 2023-12-10 19:25:52

n = input('请输入一个整数:')
if n == reversed(n):
    print('是回文数')
else:
    print('不是回文数')
页: [1]
查看完整版本: python问题