如何打印函数的多个返回值?

问题描述 投票:0回答:1
import base64 as b64
from cryptography.fernet import Fernet
def encrypt(data):
    key = Fernet.generate_key()
    keyb64 = b64.urlsafe_b64encode(key).decode('utf-8')
    cipher = Fernet(key)
    encd_data = cipher.encrypt(data.encode())
    encd_datab64 = b64.urlsafe_b64encode(encd_data).decode('utf-8')
    return encd_datab64, keyb64
print('Your data:' + encrypt(input('what to encrypt\n')))

我想要打印出来:

您的代码:(encd_datab64),您的密钥:(keyb64)

在上面的代码中,它创建了一个错误,指出您无法分离元组,但我不知道元组是什么。如果我删除代码的

'Your data:' + 
部分,它只会给出加密的数据和文本。

python string tuples
1个回答
1
投票

我理解您的要求。看来您想以特定格式打印加密数据和密钥。您可以通过修改 print 语句以包含格式化字符串来实现此目的。这是更新后的代码:

import base64 as b64
from cryptography.fernet import Fernet

def encrypt(data):
    key = Fernet.generate_key()
    keyb64 = b64.urlsafe_b64encode(key).decode('utf-8')
    cipher = Fernet(key)
    encd_data = cipher.encrypt(data.encode())
    encd_datab64 = b64.urlsafe_b64encode(encd_data).decode('utf-8')
    return encd_datab64, keyb64

encrypted_data, key = encrypt(input('Enter data to encrypt: '))
print(f'Your code: {encrypted_data}, your key: {key}')

在此代码中,我使用 f 字符串(格式化字符串)在 print 语句中包含 crypto_data 和 key 的值。这样,它就会以您指定的格式打印所需的输出。

© www.soinside.com 2019 - 2024. All rights reserved.