如何解决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]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。