如果’int()调用成功,'decimal
已经是一个数字。你只能 对字符串调用.isdigit()
(正确的名称):
decimal = input()
if decimal.isdigit():
decimal = int(decimal)
另一种方法是使用异常处理;如果抛出“ValueError”,则 输入不是数字:
while True:
print("Type a decimal number you wish to convert:")
try:
decimal = int(input())
except ValueError:
print("Please enter a number.")
continue
binary = bin(decimal)[2:]
您没有使用“bin()”函数并删除开头的“0b”,而是 也可以使用[format()
【功能】(http://docs.python.org/3/library/functions.html#格式),使用'b'
format,将整数格式化为二进制字符串,不带前导 文本:
>>> format(10, 'b')
'1010'
>>> format(10, '08b')
'00001010'