Python函数返回元组

问题描述

我有一个 python 函数,它返回一个带有布尔值和字符串的元组

def check_something():
  ...
  return bool_value,str_messsage 

有没有办法可以使用布尔值在 if 语句中使用此函数输出,并将字符串值分配给 if 语句中的变量

if not check_something():
  ...

解决方法

/* LOGIN MANAGEMENT SYSTEM */

#include <iostream>
#include <string>
#include <fstream>

int main()
{
/** CREATED ACCOUNT VIA SOME AUTHENTIC VERIFICATION **/
/* PASSWORD GENERATED */

std::string user_name,pwd;

std::cout << "ENTER YOUR USER_NAME: " << std::endl;
std::cin >> user_name;

std::cout << "ENTER YOUR PASSWORD: " << std::endl;
std::cin >> pwd;

std::ofstream set_user_name;
set_user_name.open("id.txt");
set_user_name << user_name;
set_user_name.close();

std::cin.ignore();

std::ofstream set_pwd;
set_pwd.open("pwd.txt");
set_pwd << pwd;
set_pwd.close();

std::cout << "********CONGO!,YOUR ACCOUNT IS CREATED********" << std::endl;

/*LOGIN*/
std::string user_username,user_pwd;

std::cout << "ENTER YOUR USER_NAME: " << std::endl;
std::cin >> user_username;

std::cout << "ENTER YOUR PASSWORD: " << std::endl;
std::cin >> user_pwd;

std::string verify_id,verify_pwd;

std::ifstream fin;
fin.open("id.txt");

char ch;
while (!fin.eof())
{
    ch = fin.get();
    verify_id += ch;
}

// verify_id.push_back('\0');

std::ifstream fin1;
fin1.open("pwd.txt");
while (!fin1.eof())
{
    ch = fin1.get();
    verify_pwd += ch;
}

verify_id += 's';
std::cout << "verify_id: " << verify_id; /* I have attached a snippet for this output
                                            which is holding a blank space at the end */

// std::cout << verify_id[3];

if (verify_id == user_username && verify_pwd == user_pwd)
{
    std::cout << "LOGIN SUCCESFUL" << std::endl;
}

if (verify_pwd == user_pwd)
{
    std::cout << "Errr! USERNAME OR PASSWORD IS INCORRECT" << std::endl;
}

return (0);
}

这使用了“海象运算符”,这是 Python 3.8 中引入的新语法。您可以在此处阅读:https://realpython.com/python38-new-features/#the-walrus-in-the-room-assignment-expressions

对于 Python 3.7 及更低版本,您必须额外添加一行:

if (result := check_something())[0]:
    var = result[1]

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...