python - 使用类处理 if else 函数,但不能在 elif 函数中使用变量
问题描述
我正在尝试通过类创建一个 id,但我有一个名为 showPersonel 的函数来显示 id。程序一直说personel1未定义,我该怎么办?
import os
class personel:
def __init__(self,firstName,lastName,age,position):
self.firstName=firstName
self.lastName=lastName
self.age=age
self.position=position
def personelPrint(self):
print("Personelin ismi:",self.firstName)
print("Personelin soyadı:",self.lastName)
print("Personelin yaşı:",self.age)
print("Personelin pozisyonu:",self.position)
print("="*30)
print("="*13,"Menü","="*13)
print("="*30)
print()
print("Personel kaydı oluştur. (newPersonel)")
print("Personel görüntüle. (showPersonel)")
print()
menuAnswer=input()
if menuAnswer == "newPersonel":
personel1 = personel(input("Personel ismi giriniz: "),input("Personel soyadını giriniz: "),input("Personel yaşını giriniz: "),input("Personel pozisyonunu giriniz:"))
elif menuAnswer == "showPersonel":
personel.personelPrint(personel1)
解决方案
问题在这里:
menuAnswer=input()
if menuAnswer == "newPersonel":
personel1 = personel(input("Personel ismi giriniz: "),input("Personel soyadını giriniz: "),input("Personel yaşını giriniz: "),input("Personel pozisyonunu giriniz:"))
menuAnswer 只能得到一个输入,当它得到 newPersonel 时,它创建了 personel1 对象但是当它得到 showPersonel 时,程序还没有创建 personel1
elif menuAnswer == "showPersonel":
personel.personelPrint(personel1)
您应该每次都给 newPersonel 以使其正常工作
推荐阅读
- python - Django 的 Field 的“default”和 test 的“client”参数从何而来?
- oracle - 从 DBF 和控制文件恢复 Oracle 数据库
- javascript - 如何更新从嵌套对象的状态数组映射的单个嵌套组件,而不重新渲染所有内容?
- python - 每次旅行的距离
- shell - 使用 readYaml 和 writeYaml jenkins 实用程序时丢失的前导空间
- regex - 如何删除`oracle - 如何将当前日期时间插入触发器中的表中?- PLSQL
- keyboard-shortcuts - CLion 中的 F10 打开文件菜单
- java - 第一个按钮(收音机)始终打开
- python - 具有 24 小时格式的 WhatsApp 聊天文本文件的日期模式,split() 错误:太多值无法解压