Python函数为不工作的空白条目提供默认值

2024-04-28 17:44:31 发布

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

我想弄清楚这件事已经太久了!怎么办?你知道吗

def fallBack(submission):
    if (submission == ""):
           submission = "fixed!"  
           return(submission)

name = input("What is your name?")
(fallBack(name))

location = input("Hi "+name+"! Nice to meet you, I live inside a computer, where do you live?")

我一直有最后的输入只是打印出来什么。。。你知道吗


Tags: nameyoulivesubmissioninputyourreturnif
3条回答

只需去掉fallBack(name)周围的括号

def fallBack(submission):
    if (submission == ""):
        submission = "fixed!"  
    return submission

name = input("What is your name?")
name = fallBack(name)

location = input("Hi "+name+"! Nice to meet you, I live inside a computer, where do you live?")

还要记住,如果使用python2.7,应该使用raw_input而不是input

我不知道你想做什么,但我想这样可以:

def fallBack(submission):
    if (submission == ""):
           submission = "fixed!"  
    return (submission)

name = input("What is your name?")
name = fallBack(name)

location = input("Hi "+name+"! Nice to meet you, I live inside a computer, where do you live?")

您的两个错误是在没有要修复的情况下不返回任何内容,以及不分配函数返回的值。你知道吗

顺便说一句,在Python中有一种更惯用的方法:

name = input("What is your name?")
name = name or 'fixed!'

location = input("Hi "+name+"! Nice to meet you, I live inside a computer, where do you live?")

第二行测试是否将name转换为布尔值,如果返回False(对于字符串,相当于测试它是否不是空的),则将其替换为'fixed!'

您需要存储fallBack()的结果。 另外,更改fallBack()以返回非空的原始值:

def fallBack(submission):
    if not submission:
        return "fixed!"
    else:
        return submission

然后,像这样使用:

name = fallBack(input("What is your name?"))

相关问题 更多 >