Python脚本 - 需要帮助理解这个循环

时间:2017-04-07 13:31:14

标签: python

我的gf正在研究CS,需要帮助理解这个脚本的运行方式以及原因?

神秘(9870)有什么价值?

def mystery(n):  

m = " "
    while n > 0:
    m += str(n % 10)
    n //= 10
return m

可能的答案是 - “789” “0789” “7890” “987” “9870”

我们只需要知道代码是如何运行的?

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:-1)

这是您需要使用的正确缩进。

def mystery(n):  
    m = ""
    while n > 0:
        m += str(n % 10)
        n //= 10
    return m

调用该函数时:

mystery(9870)
' 0789'

该函数接受一个参数并检查它是否大于0.满足条件时,它将数字除以10并将余数转换为字符串并将其附加到空字符串m。 n // = 10将删除数字的最后一位并将剩余的数字存储在n中。并且while循环检查n是否再次大于0。等等。整个过程一直持续到n为单位数,此时n // = 10将返回0并且while循环的条件不满足。

基本上,它会将您传递的数字的数字反转为参数。 希望这个解释有所帮助