所以这是我的代码:
user_input = input('What number would you like to convert?: ')
binary = []
num = int(user_input)
while num != 0:
remainder = num % 2
num = (num - remainder) / 2
binary.append(int(remainder))
print(user_input, 'in binary is: ', end='')
print(*reversed(binary), sep='')
为什么在打印数组之前必须先输入'*'?我到处寻找,无法找到它的作用和用途。
提前致谢, 罗布
答案 0 :(得分:0)
这被称为" splat"运营商。有关它的更多信息,请参阅the Python documentation on it。
它基本上做的是:
print(reversed(binary)[0], reversed(binary)[1], ..., sep='')
本质上,它使用数组元素作为参数,而不是将数组作为单个参数本身传递。
>>> lst = [1, 2, 3]
>>> print(lst) # equivalent to `print([1, 2, 3])'
[1, 2, 3]
>>> print(*lst) # equivalent to `print(1, 2, 3)'
1 2 3
>>> print(reversed(lst))
<list_reverseiterator object at 0x7f4863ae4a20>
>>> print(*reversed(lst))
3 2 1