不确定我是否在#python3中解决了这个嵌套的条件练习

时间:2018-01-14 10:49:17

标签: python-3.x

我目前正在进行这项练习,因为我自学,我需要有人帮我解决这个问题。 我不确定我是否正确解决了这个问题。 主要是因为我不认为我意味着要获得真实的"或"错误"当我运行代码时作为输出。 我在这里错过了什么?

我的代码:

Check if word starts with "pre"
Check if word .isalpha()
if all checks pass: return True
if any checks fail: return False
Test
    get input using the directions: enter a word that starts with "pre":
    call pre_word() with the input string
    test if return value is False and print message explaining not a "pre" word
    else print message explaining is a valid "pre" word

def pre_word (word):

    if word.startswith("pre"):
        if word.isalpha():
            print ("Valid")
            return True
    else:
        print ("not valid")
        return False




print (pre_word (input("enter a word that starts with \"pre\": ")))

提前感谢您提供的任何帮助或提示。

1 个答案:

答案 0 :(得分:0)

print "Valid""Not Valid"但是您正在返回布尔值TrueFalse印在最后。

此代码应该有效:

def pre_word (word):

    if word.startswith("pre") and word.isalpha():
        return "Valid"
    return "Not Valid"

print (pre_word (input("enter a word that starts with \"pre\": ")))

基本上,我将您的return值修改为字符串并清理了一些代码。我使用了and运算符并删除了第二个if条件。

如果您想知道为什么没有else条件:

如果两个条件为True,则您的函数将返回"有效"。然而,它不会进入下一行,因为它已经返回了一个值。如果这两个条件都是假的,那么`return" Not Valid"行将运行。