能不能用字符串的形式来判断回文数
for i in str(int(input("请输入一个正整数:"))):if str(input)==str(input).reversed:
print("是回文数")
else:
print("不是回文数")
本帖最后由 jackz007 于 2022-10-30 11:33 编辑
s = input('输入一个正整数:')
if s == s[::-1]:
print("是回文数")
else:
print("不是回文数") str(input)这是啥,看不懂啊
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]