Python 将十进制转换为二进制和二进制转换为十进制的程序?
所以我打算写一个程序,将一个十进制数转换成二进制数,然后再编写一个相反的程序。我知道有python函数可以做到这一点,但我认为我们应该用更长的时间来实现。伪代码如下所示: 十进制到二进制:Python 将十进制转换为二进制和二进制转换为十进制的程序?,python,python-3.x,Python,Python 3.x,所以我打算写一个程序,将一个十进制数转换成二进制数,然后再编写一个相反的程序。我知道有python函数可以做到这一点,但我认为我们应该用更长的时间来实现。伪代码如下所示: 十进制到二进制: number = Prompt user for input, convert to int Set quotient equal to number, remainder equal to zero while(number!=0) (quotient,remainder)=divmod(q
number = Prompt user for input, convert to int
Set quotient equal to number, remainder equal to zero
while(number!=0)
(quotient,remainder)=divmod(quotient,2)
print(remainder)
二进制到十进制
number=Prompt user for input
Get string length of number = n
for x in range(n)
sum+=(2^n) times x
print sum
有帮助吗?用于手动转换的代码。我在这里使用循环。它也可以使用递归来完成
#Binary to Decimal
def btod(binary):
decimal = 0
for digit in binary:
decimal = decimal*2 + int(digit)
return decimal
#Decimal to Binary
def dtob(decimal):
if decimal == 0:
return 0
binary=''
decimal = int(decimal) #incase arg is int
while (decimal > 0):
binary+= str(decimal%2)
decimal = int(decimal/2)
return binary[::-1] #reverse the string
print(btod('101'))
#5
print(dtob('5'))
#101
伪代码的翻译词典: “提示用户输入,转换为int”: “设置商等于数,余数等于零”: “divmod(商,2)”:
“提示用户输入”: “获取数字的字符串长度=n”: “(2^n)乘以x”: “打印金额”:
使用此词典替换伪代码中的相应部分。所有其他零件(包括凹痕)保持在原位 注意:
通过伪代码,您的程序“Decimal to Binary”将在列中打印转换后的十进制数-从下到上读取结果。回答您的实际问题时,没有。为您编写代码没有帮助。特别是当你不能很好地格式化你的问题时。你的问题到底在哪里?如果输出是错误的,请在问题中贴上它的输入。你将如何使用递归?如何使用递归?
int(input("Enter a decimal number: "))
quotient = number
remainder = 0
quotient // 2, quotient % 2
input("Enter a binary number: ")
n = len(number)
2**n * x
print(sum)