新手需要循环和范围功能的帮助

时间:2016-05-01 16:48:35

标签: python loops range

我正在写一个十进制到二进制转换器,这是我当前的代码:

所有这些都按预期工作。当用户输入十进制值(例如10)时,它将返回二进制数1010.

我试图添加到此的方法是,如果用户输入十进制值10,则会为之前和之前的所有数字创建二进制数。

示例:

User inputs 10
Decimal: 1 binary: 1
Decimal: 2 binary: 10
Decimal: 3 binary: 11
Decimal: 4 binary: 100
(so on, until)
Decimal: 10 binary: 1010

我已尝试使用for循环和范围功能,但似乎无法使其正常工作。

2 个答案:

答案 0 :(得分:1)

以下代码段是否有帮助? 不确定这是不是你的问题。

n = 10
for i in range(n):
    print bin(i)

所以你可以让你的二进制翻译成为一个函数,并重复调用它

def my_bin(stuff_to_convert):
    result = '?'  # TODO: your conversion goes here
    return result

n = int(input("number please:"))
for i in range(n + 1):
    binary_number = my_bin(i)

答案 1 :(得分:1)

您可以将十进制到二进制转换为函数,将函数放入循环中,然后使用用于循环的迭代器调用函数。

这样的事可能

def decimalToBinary(input):
    #here you would put that main loop that you had in your code
    pass

decimal=inputNumber
i=0
while(i<=decimal)
    decimalToBinary(i)
    i += 1

这样的事情不仅使你的代码更有用,因为你现在有一个将十进制转换为二进制的函数,你可以在其他地方使用它,但它也使它更清晰,更容易阅读。此外,请记住在您的代码中添加注释,以便我们更容易阅读,并使用标记将您的代码直接放在您的问题中以便于参考! :d