python - 关于def函数的一个简单问题(如果单词以“pre”开头,则返回“valid”)
问题描述
我需要编写一个函数来要求人们输入一个单词,如果它以“pre”开头返回“valid”,否则打印“not valid”。
def word_fun(word):
word = input("enter a word: ").lower()
if word.startswith("pre") and word.isalpha:
print("valid")
else:
print("not valid")
word_fun(word)
我的代码有什么问题?
解决方案
该代码产生错误NameError: name 'word' is not defined
。这意味着您在word
尚未定义的范围内使用该变量。这发生在您调用函数的最后一行。
您可以通过从函数中删除参数来解决此问题,因为它不是必需的。从定义和调用中删除它。
def word_fun():
word = input("enter a word: ").lower()
if word.startswith("pre") and word.isalpha():
print("valid")
else:
print("not valid")
word_fun()
注意:我也修复word.isalpha()
了 chepner 在对您的问题的评论中提到的问题。
推荐阅读
- c# - 如何增加由 . 分隔的字符串值编号(即 1.2.3 == 1.2.4)
- extjs - extjs 问题将 extraParams 发送到restapi
- python - 如何保存图像阅读和代码训练结果?
- asp.net - 防止数据从数据库重新加载到 from
- javascript - 我正在尝试开玩笑地对查询进行“压力测试”-但我无法绕过自动 5000 毫秒超时
- excel - 我自动将单元格乘以一个值的代码不断崩溃
- ios - 在带 Xcode 的设备上运行与在不带 Xcode 的设备上运行的行为差异
- ios - iOS 蓝牙无法通过自定义键盘扩展工作
- javascript - 如何检测浏览器后退按钮被禁用
- java - 接口的“通配符”导入