在python中,像2013这样的整数被视为数组,就像字符串被视为";狗;?

在python中,像2013这样的整数被视为数组,就像字符串被视为";狗;?,python,arrays,string,int,Python,Arrays,String,Int,我需要知道整数是否可以像字符串一样作为数组来处理这个问题:问题描述 您可能会惊讶地发现,2013年是自1987年以来第一个数字明显的年份。岁月 2014、2015、2016、2017、2018、2019各有不同的数字。2012没有不同的数字, 因为数字2是重复的。 给定一年,下一个数字不同的年份是什么? 输入规格 输入由一个整数Y(0 Y 10000)组成,表示起始年份 原因是我一直收到一条错误消息,说“int”对象不可编辑 这是我的密码。任何帮助都将不胜感激。谢谢 def distinct(y

我需要知道整数是否可以像字符串一样作为数组来处理这个问题:问题描述 您可能会惊讶地发现,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()

不,数字就是数字。但是,您只需将字符串表示形式作为参数传递给str类即可:

year = 2012
str_year = str(year)
for digit in str_year:
    print digit

不,数字就是数字。但是,您只需将字符串表示形式作为参数传递给str类即可:

year = 2012
str_year = str(year)
for digit in str_year:
    print digit

如果要迭代年号中的其他数字,则不应将输入转换为
int
。字符串被视为字符列表,因此您可以在每个数字上迭代(如果需要,可以将它们转换为
int
):


如果要迭代年号中的其他数字,则不应将输入转换为
int
。字符串被视为字符列表,因此您可以在每个数字上迭代(如果需要,可以将它们转换为
int
):

>>n=2014
>>>列表(n)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“int”对象不可编辑
>>>名单(str(n))
['2', '0', '1', '4']
>>n=2014
>>>列表(n)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“int”对象不可编辑
>>>名单(str(n))
['2', '0', '1', '4']

现在,问题是猜测哪里的
“int”对象是不可编辑的。
抛出错误?顺便说一句,字符串不是数组,如果您想将其视为可编辑的字符串,您需要将int转换为字符串,现在您可以使用string like
中的所有方法来处理字符串中的i
,问题是猜测
“int”对象不可iterable的位置。
抛出错误?顺便说一句,字符串不是数组,如果您想将其视为字符串,使其具有可iterable的意义,你需要将int转换成string,你可以使用string中的所有方法,比如
for i in string
,或者他们不能在一开始就调用字符串上的
int
。我理解了你的回答,我开始做一个for循环,循环遍历字符串“2013”的每个数字,但我仍然认为int对象是不可编辑的。具体地说,这里是我遇到的错误:请输入2013年的回溯(最近一次调用是最后一次):文件“C:\Users\Yazad\Dropbox\Grade 12\Computer Science\From 1898 to 2013.py”,第35行,在main()文件“C:\Users\Yazad\Dropbox\Grade 12\Computer Science\From 1898 to 2013.py”,第33行,在主打印(独立的(int)(输入('Please enter a year'))文件“C:\Users\Yazad\Dropbox\Grade 12\Computer Science\From 1898 to 2013.py”,第6行,不同元素。追加(最大(年))TypeError:“int”对象不可用iterable@user1814771您认为这比正确编辑您的问题更具可读性吗?我建议您花一些时间在Pythoin It生成提示中,了解在提示下输入
a=2013
b=“2013”
之间的区别,然后尝试获取数字
b[0]
,并将一种类型转换为另一种类型,如
c=str(a);c[0]
-如果你不掌握这些基本知识,你就不会走多远。或者他们一开始就不能在字符串上调用
int
。我理解了你的回答,并开始创建一个for循环,循环遍历字符串“2013”的每个数字例如,但我仍然得到int对象不可编辑。具体来说,我得到的错误是:请输入2013年回溯(最近一次调用):文件“C:\Users\Yazad\Dropbox\Grade 12\Computer Science\From 1898 to 2013.py”,第35行,main()文件“C:\Users\Yazad\Dropbox\Grade 12\Computer Science\From 1898 to 2013.py”,第33行,在主打印文件“C:\Users\Yazad\Dropbox\Grade 12\Computer Science\From 1898 to 2013.py”,第6行,在不同元素中。追加(最大(年))TypeError:“int”对象不可用iterable@user1814771您认为这比正确编辑您的问题更具可读性吗?我建议您花一些时间在Pythoin It生成提示中,了解在提示下输入
a=2013
b=“2013”
之间的区别,然后尝试获取数字
b[0]
,并将一种类型转换为另一种类型,如
c=str(a);c[0]
-如果你不掌握这些基本知识,你将一事无成。
>>> 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']