gpt4 book ai didi

python-3.x - 使用 def 函数将五进制转换为十进制、十进制转换为五进制、5 进制数相加和 5 进制数相乘

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:37:33 27 4
gpt4 key购买 nike

如何使用 def 函数将 5 进制数转换为小数、将小数转换为 5 进制数、将 5 进制数相加并乘以 5 进制数:

  • gumatj_to_decimal(a),将 Gumatj 数字转换为十进制
  • decimal_to_gumatj(a),将十进制数转换为 Gumatj
  • gumatj_add(a, b),添加 2 个 Gumatj 数
  • gumatj_multiply(a, b),将 2 个 Gumatj 数相乘
choice = input ("Choose test:\n")
action = choice[:1]
print ("calling function")

if action == 'g' or action == 'd':

num = int(choice[2:])

if action == 'g':
answer = gumatj.gumatj_to_decimal (num)
else:
answer = gumatj.decimal_to_gumatj (num)

elif action == 'a' or action == 'm':

num1, num2 = map (int, choice[2:].split(" "))

if action == 'a':
answer = gumatj.gumatj_add (num1, num2)
else:
answer = gumatj.gumatj_multiply (num1, num2)

print ("called function")
print (answer)

示例 I/O:

Choose test: 
d 12
calling function
called function
22

示例 I/O:

Choose test: 
g 22
calling function
called function
12

示例 I/O:

Choose test:
a 12 14
calling function
called function
31

示例 I/O:

Choose test: 
m 3 4
calling function
called function
22

最佳答案

试试这段代码:

import numpy


def gumatj_to_decimal(num):
return int(str(num), 5)


def decimal_to_gumatj(num):
return numpy.base_repr(num, 5)


def gumatj_add(num1, num2):
return decimal_to_gumatj(gumatj_to_decimal(num1) + gumatj_to_decimal(num2))


def gumatj_multiply(num1, num2):
return decimal_to_gumatj(gumatj_to_decimal(num1) * gumatj_to_decimal(num2))


choice = input("Choose test:\n")
action = choice[:1]
print("calling function")

if action == 'g' or action == 'd':

num = int(choice[2:])

if action == 'g':
answer = gumatj_to_decimal(num)
else:
answer = decimal_to_gumatj(num)

elif action == 'a' or action == 'm':

num1, num2 = map(int, choice[2:].split(" "))

if action == 'a':
answer = gumatj_add(num1, num2)
else:
answer = gumatj_multiply(num1, num2)

print("called function")
print(answer)

示例输出:

Choose test:
d 12
calling function
called function
22

Choose test:
g 22
calling function
called function
12

Choose test:
a 12 14
calling function
called function
31

Choose test:
m 3 4
calling function
called function
22

解释:

  • 将 5 进制数转换为十进制数:

python int可以将任何基数的字符串转换为整数:

def gumatj_to_decimal(num):
return int(str(num), 5)
  • 将十进制数转换为基数 5:

Numpy 的 base_repr可以这样做:

def decimal_to_gumatj(num):
return numpy.base_repr(num, 5)
  • 将两个以 5 为基数的数字相加:

首先将它们转换为十进制,将它们相加并转换回基数 5:

def gumatj_add(num1, num2):
return decimal_to_gumatj(gumatj_to_decimal(num1) + gumatj_to_decimal(num2))
  • 两个以 5 为底的数字相乘:

先将它们转为十进制,相乘,再转回5进制:

def gumatj_multiply(num1, num2):
return decimal_to_gumatj(gumatj_to_decimal(num1) * gumatj_to_decimal(num2))

关于python-3.x - 使用 def 函数将五进制转换为十进制、十进制转换为五进制、5 进制数相加和 5 进制数相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55412577/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com