首页 > 解决方案 > 使用类处理 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)

标签: pythonpython-3.xfunctionclass

解决方案


问题在这里:

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 以使其正常工作


推荐阅读