首页 > 解决方案 > 我的函数不会返回任何值或打印任何输出。我的功能有问题吗?有什么办法可以完成吗?

问题描述

我如何返回值?

import csv
import Load

def SignUp():
    Found = False

    Player_Name= str(input("Masukkan nama pemain: "))
    Player_Birthdate = str(input("Masukkan tanggal lahir pemain (DD/MM/YYYY): "))
    Player_Height = str(input("Masukkan tinggi badan pemain (cm): "))
    Player_Username = str(input("Masukkan username pemain: "))
    Player_Password = str(input("Masukkan password pemain: "))

    while (Found == False):
        for i in range(len(Load.List_user)):
            if (Player_Username == Load.List_user[i]):
                Found = True
            else:
                Found = False
    if (Found == True):
        print("Sign Up gagal. Username telah digunakan.")
    else:
        print("Selamat menjadi pemain, "+Player_Name+". Selamat bermain.")
    return #I tried removing return or make it return Found and make the 'if' outside the function and both didnt work

SignUp()

标签: pythoncsv

解决方案


如果您的 List_user 数组不包含您要查找的用户名,您将永远不会退出 while 循环。您可以像这样重写函数:

def SignUp():

    Player_Name= str(input("Masukkan nama pemain: "))
    Player_Birthdate = str(input("Masukkan tanggal lahir pemain (DD/MM/YYYY): "))
    Player_Height = str(input("Masukkan tinggi badan pemain (cm): "))
    Player_Username = str(input("Masukkan username pemain: "))
    Player_Password = str(input("Masukkan password pemain: "))


    for i in range(len(Load.List_user)):
         if (Player_Username == Load.List_user[i]):
                print("Sign Up gagal. Username telah digunakan.")
                return

    print("Selamat menjadi pemain, "+Player_Name+". Selamat bermain.")

推荐阅读