【问题标题】:how do i fix 'int' object is not iterable error我如何修复'int'对象不是可迭代的错误
【发布时间】:2021-09-06 14:26:21
【问题描述】:

您好,我是 python 新手,我遇到了这个错误。你能解释一下我做错了什么吗?还有必要导入数学吗?

这个概念是找出这个词是否是回文。

这是我的代码:

  #palindrome
import math #do i need it?

wrd=input("give me a word ")
key=False

length=int(len(wrd)/2 +1)

for i in length:
    for j in length:
        if i==j:
            pass
        else:
            key=True

if key==False: print("palindrome")
else: print("not palindrome")

【问题讨论】:

  • 您需要使用range(length)
  • 您想遍历单词及其反转,而不是两个整数列表。此外,您似乎正在尝试遍历每一个可能的 pair 索引; i == j 在某些时候肯定是假的。
  • 如果你确实迭代了range(length),那么你想比较wrd[i]wrd[length - 1 - i]
  • 范围函数就是你所需要的。 range(length) 会给你一个可迭代的对象。
  • @DanielHao 是的,我想通了,但我不知道你的方式,所以谢谢你的信息

标签: python integer palindrome


【解决方案1】:

你不需要导入数学

使用range()函数-

wrd=input("give me a word ")
key=False

length=int(len(wrd)/2 +1)

for i in range(length):
    for j in range(length):
        if wrd[i]==wrd[j]:
            pass
        else:
            key=True

if key==False: print("palindrome") # This is generally bad practice
else: print("not palindrome") # Use indentation so that it is more readable

【讨论】:

  • 感谢您的帮助,虽然我发现我的代码完全错误 xD
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-29
  • 2019-08-16
  • 2021-04-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多