怎么不用内置函数或者格式化写一个程序将二进制与十进制互相转化
求助 本帖最后由 Twilight6 于 2020-8-1 12:10 编辑这样呗?
user = input('请输入一个二进制数或十进制数:')# 带 0b 的是二进制数,不带的是十进制
if user[:2] == '0b':
# 二进制转十进制
result = 0
user = user
length = len(user)-1
for i in user:
result += int(i)*2**length
length -= 1
print(result)
else:
# 十进制转二进制
user = int(user)
result = []
while user:
result.append(str(user%2))
user = user // 2
print('0b'+''.join(reversed(result)))
Twilight6 发表于 2020-8-1 11:56
这样呗?
感谢,一直没找到思路 Twilight6 发表于 2020-8-1 11:56
这样呗?
帮忙看下我这样哪里有问题好吗
最后一行不知道list怎么做是字符串的。还有二进制到十进制这里哪里有问题
def function1():
num=input('输入转换的数字') # 带0b的是二进制不带的是十进制
for i in num:
if '0b' in num:
lenth=len(num)-1
num=num
return '转化为十进制的结果为'+i*2**lenth
lenth-=1
else:
num=int(num)
response=[]
a=num%2
b=num//2
response.insert(0,a)
while b:
a=b
a=a%2
b=b//2
response.insert(0,a)
print('转化为二进制的结果是'+response)
页:
[1]