我怎样才能用easygui把我的编码号码放到一个新的线路上?

2024-04-27 19:40:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把base64encode(ntei)放到“这是以64为底的数字:”下面的一行,有人知道方法吗?在

import easygui as e

nte = e.enterbox(msg="Enter Number to convert", title="", default="", strip=True)
ntei = int(nte)

def base64encode(number, alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"):
    """Converts an integer to a base64 string."""
    if not isinstance(number, (int, long)):
        raise TypeError("Number must be an integer")

    base64 = ""
    sign = ""

    if number < 0:
        sign = "_"
        number = -number

    if 0 <= number <len(alphabet):
        return sign + alphabet[number]

    while number !=0:
        number, i = divmod(number, len(alphabet))
        base64 = alphabet[i] + base64

    return sign + base64

def base60decode(number):
    return int(number, 64)

print e.msgbox(msg=("Heres the number in base 64: " + base64encode(ntei)))

Tags: toannumberreturnifdefmsgint
1条回答
网友
1楼 · 发布于 2024-04-27 19:40:43

问题出在"Heres the number in base 64: " + base64encode(ntei)。你自己并没有在那里放一条新线,所以自然不会显示。在Python中,新行通过字符\n表示。因此,要向该字符串添加新行,必须将其更改为"Heres the number in base 64:\n" + base64encode(ntei)。在

还值得一提的是,base64encode函数是完全不必要的(就像在easygui.msgbox前面使用print,除非出于某种原因您希望看到该函数的返回值)。可以通过Python字符串的encode方法将字符串转换为base64,如ntei.encode('base64')。利用这些知识,可以将整个程序重写为以下内容:

import easygui as e

nte = e.enterbox(msg='Enter number to convert', title='', default='', strip=True)
e.msgbox(msg=('Heres the number in base 64: ' + nte.encode('base64')))

相关问题 更多 >