Python数制转换

如何编程实现10进制转8进制?
数制转换
N = (N div d)×d + N mod d
要求:

1)十进制数值需键盘输入;2)使用while循环;3)不得调用类似oct,‘{:o}’.format自动转进制函数

根据你的要求,试了一下

# 输入十进制数
dec_num = int(input("请输入一个十进制数:"))

# 初始化八进制数和位数
oct_num = 0
digit = 0

# 迭代计算八进制数
while dec_num > 0:
    oct_num = oct_num + (dec_num % 8) * 10 ** digit
    dec_num = dec_num // 8
    digit += 1

# 输出结果
print("八进制数为:", oct_num)

输入的十进制数通过input()函数获取,并使用int()函数将其转化为整数类型。然后通过while循环进行数制转换的迭代计算,直到十进制数为零。在每一次迭代中,计算出余数,并将其乘以相应的权值(在此为10的不同幂次)累加到八进制数中,同时将十进制数除以8并向下取整。最终,得到的八进制数即为所求,输出即可。如果对你有帮助的花,请给我一个采纳哦,谢谢啦

Python实现将十进制数转换为八进制可以使用如下代码:

# 输入十进制数
num = int(input("输入十进制数:"))

# 保存转换后的八进制结果
result = ""

# 进行转换
while num != 0:
  # 计算余数并添加至结果的开头
  remainder = num % 8
  result = str(remainder) + result
  # 更新被除数的值
  num = num // 8

# 输出结果
print("转换后的八进制数为:" + result)

在上述代码中,首先通过 input 函数从键盘输入一个十进制数,然后使用 while 循环进行转换。在循环中,先计算被除数除以8后的余数,然后将余数添加到结果字符串的开头,最后更新被除数的值为被除数整除8的结果。直到被除数为零,循环结束。最终将结果字符串输出即可。