在JES中将int转换为二进制吗?

问题描述 投票:0回答:1

我正在尝试将int转换为二进制字符串。使用bin()函数将非常容易,但是在使用Jython 2.5.2的JES中不可用。

我尝试使用此:

def convertToBinary(n):
   string = ''
   if n > 1:
     convertToBinary(n//2)
   string = string  + str(n%2)
   print string

dec = 34
convertToBinary(dec)
print()

但是str()未进行转换。我尝试删除str,以为n % 2已经是一个字符串,但是不行。

有什么想法吗?

python binary jython jes
1个回答
0
投票

您可以使用三元运算。

def convertToBinary(n):
    s = ""
    if n > 1:
        convertToBinary(n // 2)
    s = s + ("0" if n % 2 == 0 else "1")
    print(s)

或者,您可以使用Java将整数转换为字符串的方式。

import java.lang

def convertToBinary(n):
    s = ""
    if n > 1:
        convertToBinary(n // 2)
    s = s + java.lang.String.valueOf(n % 2)
    print(s)
© www.soinside.com 2019 - 2024. All rights reserved.