编写程序:
此外,我在线上找到了其他一些代码,但只希望使用此代码。m请让我知道错误
i = str(input())
for item in i:
print(item)
if int(i[item]) == int(i[-item]):
print('yes')
else:
print('no')
答案 0 :(得分:1)
使用字符串切片(i[::-1]
将反转字符串):
i = input()
if i == i[::-1]:
print("Yes")
else:
print("No")
这将从用户那里获取输入,并将其与相同输入反向进行比较。
答案 1 :(得分:1)
尝试一下:
word="TOT"
i=word[::-1]
if i==word:
print("palandrom")
答案 2 :(得分:0)
尽管for item in i:
遍历字符串中的每个字符,但是您的代码行if int(i[item]) == int(i[-item]):
仍然存在一些问题。首先,item
将成为您字符串中的一个字符。因此,如果用户键入“ hello”,则i[item]
首先查找i['h']
。由于“ h”是字符而不是数字,因此这使Python认为i
是字典而不是字符串,因此告诉Python寻找名为i
的字典并在以下位置返回值:密钥是h
。由于i
是您的原始字符串,而不是字典,因此无效。
您似乎要在此处进行的操作是将i[0]
(字符串中的第一个字符)与i[-1]
(字符串中的最后一个字符)进行比较,然后将i[1]
与{ {1}},依此类推。但是,即使您在位置编号之间循环,i[-2]
也无法从数学上满足您的需求。
这里的另一个问题是您要一次检查每个字符并返回“是”或“否”。但是,您最终想要的是输出一个简单的答案:您的字符串是否是回文。
此外,由于i[-item]
仍会返回字符串,即使用户仅输入数字,也无需在str()
前后加上input()
。顺便说一句,即使您使用input
作为字符串变量,编程中通常的惯例是使用i
表示某种整数,例如您要在一个整数中进行迭代。 i
循环。但这现在还可以。
正如其他一些答案所示,for
是返回字符串本身反向的快速方法。因此,如果您可以看到输出返回i[::-1]
(如果字符串是回文),返回True
(如果不是),那么这是一种非常简单的方法:
False
如果字符串i = input()
print(i == i[::-1])
与其本身相反,则i
返回i == i[::-1]
。如果不是,则返回True
。然后,False
语句将打印答案。
但是,如果您确实确实想做长远的事情,在一个循环中逐个字符地测试,那么这是一种方法。您可以创建一个接受字符串并完成工作的函数:
print