Python 3.x Python帮助:了解此程序的用途

Python 3.x Python帮助:了解此程序的用途,python-3.x,Python 3.x,因此,我有一个python测试即将到来(没有硬核,这是一个初学者类型的测试),其中一个问题是这个测试的目的是什么: something = 0 nothing = 0 factor = 1 nothing = int(input("Enter Something:")) while (nothing > 0): if ((nothing % 10) == 1): something = something + factor nothing = nothi

因此,我有一个python测试即将到来(没有硬核,这是一个初学者类型的测试),其中一个问题是这个测试的目的是什么:

something = 0
nothing = 0
factor = 1

nothing = int(input("Enter Something:"))

while (nothing > 0):
    if ((nothing % 10) == 1):
        something = something + factor
    nothing = nothing / 10
    factor = factor * 2

print("The something is: ", something)
我一直在想答案,但一无所获。你们觉得怎么样

另外,我想知道它打印了多少次:

for i in range(10):
    for j in range(i):
        print(i * j)
答案是45(相当肯定),但我想知道为什么

我看不懂的第一篇文章。 如果
nothing
是10的倍数的1倍,那么
something
将递增1<代码>无除以10;它变成一个小数,并且永远不会是1大于10的倍数,因此不会发生其他任何事情

如果
nothing
是10的幂乘以10的倍数,
something
会增加10的幂乘以10的倍数。然后它减少到第一种情况

对于
的任何其他情况,
某物
将为0,因为
决不是10的倍数

理论上,这个循环将永远运行,但由于计算机无法存储非常微小的值,一段时间后重复除法得到0


第二篇文章相当直截了当

for i in range(10)
    for j in range(i):
        print(i * j)

这确实可以打印45次。当
i=0时
内循环运行0次;当
i=1
时,内部循环运行一次;当
i=2
时,内部循环运行两次。。。当
i=9
时,内部循环运行9次。请注意,
范围(n)
上升到但不等于
n
。所以它运行9+8+7+…+2+1+0=45次。

没有人想点击你的未知链接,链接可能会中断并使这个问题及其答案对未来用户无效。在问题中直接包含相关代码。
for i in range(10)
    for j in range(i):
        print(i * j)