【问题标题】:Convert int to binary in JES?在JES中将int转换为二进制?
【发布时间】:2019-12-20 00:33:04
【问题描述】:

我正在尝试将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 已经是一个字符串,但不是。

有什么想法吗?

【问题讨论】:

  • 你所说的“str() 没有转换它”是什么意思——你得到错误还是意外结果?
  • 当 str() 不存在时,它不能连接字符串和 int。当它在那里时,它表示存在不恰当的论点。
  • “不恰当的论点”错误的全文是什么?

标签: python type-conversion jython jes


【解决方案1】:

您可以使用三元运算。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多