我试图在Python上创建一个三元计算器,还有一些其他函数,如hex,bin和oct以及内置函数。三元没有一个,所以我建了一个。
def ternary(n):
e = n/3
q = n%3
e = n/3
q = e%3
return q
i = int(input("May you please give me a number: "))
print("Binary "+bin(i))
print("Octal "+oct(i))
print("Hexadecimal "+hex(i))
print("Ternary "+ternary(i))
enter code here
但它不起作用。为什么?问题在哪里?
答案 0 :(得分:0)
您的代码中有一些错误,其他人在评论中指出了这些错误,但我会重申它们
bin
,oct
和hex
都返回字符串。此外,即使错误已修复,您的三元功能也不正确。为您自己编写基本转换函数的最佳方法是使用递归。
def ternary(n):
if n == 0:
return ''
else:
e = n//3
q = n%3
return ternary(e) + str(q)