Python 从列表+;数字

Python 从列表+;数字,python,python-3.x,Python,Python 3.x,假设你有这样的代码 answer = input () areacode = ['302', '856', '215', '413'] if answer in areacode: ***Looking for what I would put here*** 是否可以将用户从列表中输入的数据添加到从0000000到9999999的数字中 基本上,我想让用户输入一个区号,当他们输入区号时,生成一个电话号码直到最后一个号码的所有可能结果。例如:输入是302所以302+0000000,然后302+

假设你有这样的代码

answer = input ()
areacode = ['302', '856', '215', '413']
if answer in areacode:
***Looking for what I would put here***
是否可以将用户从列表中输入的数据添加到从0000000到9999999的数字中

基本上,我想让用户输入一个区号,当他们输入区号时,生成一个电话号码直到最后一个号码的所有可能结果。例如:输入是302所以302+0000000,然后302+0000001一直到302999999(我知道这需要很长时间)


我正在使用最新版本的Python

Python支持任意长的整数。只需对所有这些数字进行迭代,并将它们添加到乘以10000000的区号中:

for i in range(10000000):
    print(answercode * 10000000 + i);
编辑:
如注释中所述,在循环的每次迭代中重复乘法是浪费的,并且只能执行一次,因为迭代之间的结果不会改变:

prefix = answercode * 10000000
for i in range(10000000):
    print(prefix + i);

Python支持任意长的整数。只需对所有这些数字进行迭代,并将它们添加到乘以10000000的区号中:

for i in range(10000000):
    print(answercode * 10000000 + i);
编辑:
如注释中所述,在循环的每次迭代中重复乘法是浪费的,并且只能执行一次,因为迭代之间的结果不会改变:

prefix = answercode * 10000000
for i in range(10000000):
    print(prefix + i);
应该有用

for i in range(9999999):
        print("answer"+" "+"+"+(str(i).rjust(7, '0')))
应该有用

for i in range(9999999):
        print("answer"+" "+"+"+(str(i).rjust(7, '0')))

乘法不会比字符串串联花费更多的时间吗?@Kylar从技术上讲,乘法是一种机器级指令,如果数字适合寄存器,则需要O(1)时间。字符串串联需要O(n)时间,其中n是长度。O(1)与否,在循环中重复相同的乘法10000000次是在浪费CPU周期,不是吗?@VPfB很好的一点-这只能在循环外执行一次。我已经相应地编辑了我的答案。乘法不会比字符串串联花费更多的时间吗?@Kylar从技术上讲,乘法是一种机器级指令,如果数字适合寄存器,则需要O(1)时间。字符串串联需要O(n)时间,其中n是长度。O(1)与否,在循环中重复相同的乘法10000000次是在浪费CPU周期,不是吗?@VPfB很好的一点-这只能在循环外执行一次。我已相应地编辑了我的答案。您应该将range参数增加1,以包括9999999。例如,
range(9)
仅从0到8计数,而
range(10)
最多需要计数到9。您应该将range参数增加1以包括999999。例如,
范围(9)
仅从0到8计数,而
范围(10)
最多需要计数到9。