我需要知道整数是否可以被视为数组,就像字符串可以解决此问题一样:问题描述 您可能会惊讶地发现2013年是自1987年以来的第一年,具有不同的数字。这些年 2014年,2015年,2016年,2017年,2018年,2019年各有不同的数字。 2012没有明显的数字, 因为数字2重复了。 鉴于一年,明年的数字是多少? 输入规格 输入由一个整数Y(0 Y 10000)组成,代表起始年份。
原因是因为我一直收到一条错误消息,说“int”对象不可迭代。
这是我的代码。任何帮助将不胜感激。谢谢。
def distinct(year):
elements = []
for j in range (year, 10000):
elements.append(max(year))
year.pop(year.index(max(year)))
elements.append(min(year))
year.pop(year.index(min(year)))
if ((j not in elements) and (j not in year)):
return j
break
def main():
print (distinct(int(input('Please enter a year'))))
main()
答案 0 :(得分:4)
没有。数字是数字。但是,您可以通过将它们作为参数传递给str类来获取字符串表示:
year = 2012
str_year = str(year)
for digit in str_year:
print digit
答案 1 :(得分:1)
如果要迭代年份编号中的其他数字,则不应将输入转换为int
。字符串被视为字符列表,因此您可以迭代每个数字(如果您愿意,可以将它们转换为int
):
>>> for number in "2012":
... print number
...
2
0
1
2
答案 2 :(得分:1)
>>> n = 2014
>>> list(n)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
>>> list(str(n))
['2', '0', '1', '4']