【发布时间】:2018-08-07 22:27:20
【问题描述】:
import math
while True:
try:
user_bin = int(input('\nPlease enter binary number: '), 2)
except ValueError:
print('Please make sure your number contains digits 0-1 only.')
else:
print(user_bin)
我刚刚浏览了这个网站,寻找有关如何完成作业的提示,作业的基础是让用户输入一个 8 位二进制数,然后将其转换为十进制。或者在不符合要求的情况下弹出无效输入错误。上面的代码看起来很有趣,所以我测试了它,我真的不明白代码的哪一部分将二进制转换为十进制。任何有关作业的提示和解释都将不胜感激。
【问题讨论】:
-
int(num, 2)会给你一个以 2 为基数的十进制数。 -
作为后续问题,如果输入的数字不是 8 位,是否有一种简单的方法可以让它打印出一条消息?如果我不使用 1 或 0,atm 它只会发出错误。
-
int(num, 2)从技术上讲不会给你一个以 2 为基数的十进制数。它为您提供一个整数,然后您可以以任何基数打印(默认为 10)。
标签: python