我目前正在进行这项练习,因为我自学,我需要有人帮我解决这个问题。 我不确定我是否正确解决了这个问题。 主要是因为我不认为我意味着要获得真实的"或"错误"当我运行代码时作为输出。 我在这里错过了什么?
我的代码:
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\": ")))
提前感谢您提供的任何帮助或提示。
答案 0 :(得分:0)
您print
"Valid"
和"Not Valid"
但是您正在返回布尔值True
和False
印在最后。
此代码应该有效:
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"行将运行。