Python 无赋值从1到无穷大计数

Python 无赋值从1到无穷大计数,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,不使用任何类型的赋值运算符=、=+等,是否可以使python从1计数到无穷大?也不能导入或调用任何包含赋值运算符的代码 我设法找到了一个解决方案,但它只能在空闲状态下工作,因为它使用了: 你能想出一个永远有效的解决方案吗?它不需要使用这里有一个可能的解决方案: for x in [0]: while 1: for x in [x+1]: print x 它之所以有效,是因为: for var in [value]: pass 与 var = va

不使用任何类型的赋值运算符=、=+等,是否可以使python从1计数到无穷大?也不能导入或调用任何包含赋值运算符的代码

我设法找到了一个解决方案,但它只能在空闲状态下工作,因为它使用了:


你能想出一个永远有效的解决方案吗?它不需要使用

这里有一个可能的解决方案:

for x in [0]:
   while 1:
       for x in [x+1]:
           print x
它之所以有效,是因为:

for var in [value]: pass  

var = val
因此,无需使用=运算符即可编写所需的所有内容!但请记住,python显然是在幕后执行任务

name = raw_input('Whats your name?') #With = operator

for name in [raw_input('Whats your name?')]: pass  #Without = operator
您也可以使用此功能:

def assign(lval, val):
     globals().update({lval:val})

听起来像是一个糟糕的任务定义。所有内容都存储在内存中的某个位置,因此所有内容都必须分配到某个位置,即使是分配到CPU上的寄存器。如果您不能使用包含=的运算符,则使用locals.\uuuuu setitem\uuuuu varname,varname+1或locals.update{varname:varname+1}如果uuuu setitem\uuuu不可用。在某种程度上,下面存储的是一个数到无穷大的数字,我们无法访问它

def ones():
    while True:
        yield 1

sum(ones())

抱歉,我拒绝帮助现代版的折磨。@5gon12eder,无限递归?:D@kroolik无限递归和无限循环的区别在于一个循环结束,这很好。递归只会在代码高尔夫和编程难题上打印1000个循环。这不是一个实用的编程问题。或lis。lis[0]+1-1:for循环意味着Python中的赋值。用def定义函数意味着Python中的赋值。用参数调用任何函数都意味着Python中的赋值。如果您认为只有=作为赋值,那么您可以在itertools.count1:printx中使用x,因为count是用C实现的,因此没有Python代码包含=赋值。Read@J.F.Sebastian你把问题读对了吗?OP请求没有赋值运算符的代码。首先,你不能不使用任何形式的赋值来解决这个问题。打印在屏幕上的值存储在内存地址的某个位置,因此必须将该值分配给该内存地址。从我的回答来看:但是请记住python显然是在幕后执行赋值。请阅读我提供的链接:=在python中不同于=在C中。根据问题中如何定义=的不同,这个问题可能有许多不同的答案。如果从ItRealStices导入计数包含= =,那么您的答案也包含=。如果计数在C中实现,那么它也将是一个有效的答案。正如你所见,提问者对我的回答很满意,我真的不理解你的问题问题中的定义非常清楚。我真的想不出更好的答案来回答这个问题。如果你有一个,那么请张贴它。
def ones():
    while True:
        yield 1

sum(ones())
count = bytearray()
unit = ord(b'|')
while len(count) < 10:  # replace with True to continue indefinitely
    print("Decimal: {}; Unary: {}".format(len(count), count.decode()))
    count.append(unit)
Decimal: 0; Unary: 
Decimal: 1; Unary: |
Decimal: 2; Unary: ||
Decimal: 3; Unary: |||
Decimal: 4; Unary: ||||
Decimal: 5; Unary: |||||
Decimal: 6; Unary: ||||||
Decimal: 7; Unary: |||||||
Decimal: 8; Unary: ||||||||
Decimal: 9; Unary: |||||||||