孙忠亮 发表于 2022-10-30 11:27:25

能不能用字符串的形式来判断回文数

for i in str(int(input("请输入一个正整数:"))):
    if str(input)==str(input).reversed:
      print("是回文数")
    else:
      print("不是回文数")

jackz007 发表于 2022-10-30 11:31:32

本帖最后由 jackz007 于 2022-10-30 11:33 编辑

s = input('输入一个正整数:')
if s == s[::-1]:
    print("是回文数")
else:
    print("不是回文数")

wp231957 发表于 2022-10-30 11:47:29

str(input)这是啥,看不懂啊

Twilight6 发表于 2022-10-30 12:14:04


input 函数接收用户输入,返回的本身就是字符串,不需要你后续同通过 str 函数进行转换

而且你 if 中判断 将 input 函数体转换为 str 肯定不行,而且 reversed 函数,字符串没有此方法

但 Python 有自带 reversed 函数。需要 reversed(xxx) 这样使用,返回的还是一个逆序生成器,需要将元素取出才能进行比较

使用 reversed 函数参考代码:

string = input("请输入一个正整数:")
if list(string) == list(reversed(string)):
    print("是回文数")
else:
    print("不是回文数")
string = input("请输入一个正整数:")
if list(string) == list(reversed(string)):
    print("是回文数")
else:
    print("不是回文数")

这里不需要用 for 循环,使用 for 循环也可以这样实现:

string = input("请输入一个正整数:")

for i in range(len(string) // 2):
    if string != string:
      print("不是回文数")
      break
else:
    print("是回文数")

最简单的还是使用切片,设置步长为 -1,相当于将字符串倒叙,参考 2L 代码

页: [1]
查看完整版本: 能不能用字符串的形式来判断回文数