python - NameError:名称“firstPart”未定义
问题描述
我应该对代码进行哪些更改,以免获得NameError: name 'firstPart' is not defined
.
burgers = ['- Hamburger', '- Cheeseburger', '- McChichen', '- Double Cheeseburger', '- Big Mac']
pizza = ['- Margareta', '- Pepperoni', '- Diablo']
def question():
print() #spacing for beauty
print ('-----Our Menu-----')
print ('[1] Burgers')
print ('[2] Pizza')
print () #spacing for beauty
firstPart = int(input('Enter the number of the category of the food you wanna order: '))
question()
if firstPart == 1:
print ('ok')
解决方案
您可以返回该值并在函数范围之外重新使用它。
burgers = ['- Hamburger', '- Cheeseburger', '- McChichen', '- DoubleCheeseburger', '- Big Mac']
pizza = ['- Margareta', '- Pepperoni', '- Diablo']
def question():
print() #spacing for beauty
print ('-----Our Menu-----')
print ('[1] Burgers')
print ('[2] Pizza')
print () #spacing for beauty
return int(input('Enter the number of the category of the food you wanna order: '))
firstPart = question()
if firstPart == 1:
print ('ok')
发生此错误是因为该变量仅在函数范围内可用。firstPart 的范围仅限于函数。
推荐阅读
- ios - SwiftUI - 为什么当我在 macOS 上更改选项卡时 TabView 及其内容有时不刷新?
- asp.net - 需要将 DevExtreme 下拉框设置为只读
- wpf - 在 MVVM Navigation 中,视图模型将取自 MainWindow 的 UserControl.DataContext
- angular - Angular6:如何通过选择选项隐藏和显示字段集?
- excel - 如何获取带有 csv 扩展名的文件名
- php - 警告:mysqli_stmt_close() 期望参数 1 为 mysqli_stmt,布尔值在 C:\xampp\htdocs\formnew.php 第 42 行
- ios - 在 React Native 中,键盘没有被 Keyboard.dismiss 解散
- sql-server - 如何在 SQL 触发器中将软删除捕获为 DELETE 语句
- python - 如何使用 dataclass 装饰 pyqt5 类?
- html - 我想在离子应用程序中创建一个颜色选择器