0
我有一段簡單的代碼,你輸入一個名字來接收關於那個人的更多信息。例如,你輸入'約翰'來獲取關於約翰的信息。但是,如果用戶輸入'John'或'JOHN',例如我會收到以下回溯錯誤。資金在用戶輸入創建追蹤錯誤?
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
John
NameError: name 'John' is not defined
我已經能夠插入.lower()
到我的代碼中沒有錯誤的地方(目前刪除),但是它仍然不接受「約翰」 /「約翰」等,並以小寫形式返回所有的信息約翰 - 這不是我想要的。
是否有可能允許用戶使用大寫輸入?我對Python非常陌生,並且非常感謝這非常直接,我也看到類似的線索與.lower()
和input().lower()
回覆和類似的,但努力找出在我的代碼中包括,允許用戶輸入'約翰'等等。謝謝。
class Employees:
def __init__(self, name, lastname, age, department):
self.name = name
self.lastname = lastname
self.age = age
self.department = department
def displayEmployees(self):
return("The employee is called " + self.name + ' ' + self.lastname + " and is " + str(self.age) + " years old, and works in the " + self.department + " department.")
employee1 = Employees("Sam", "Smith", 25, "Office")
employee2 = Employees("John", "Smith", 23, "Admin")
employee3 = Employees("Amy", "Smith", 28, "Admin")
employee4 = Employees("Alice", "Smith", 30, "Reception")
employee5 = Employees("Chris", "Smith", 51, "Managers")
sam = employee1.displayEmployees()
john = employee2.displayEmployees()
amy = employee3.displayEmployees()
alice = employee4.displayEmployees()
chris = employee5.displayEmployees()
print("Please input the first name of the employee you wish to find out more about the employee")
感謝您的答覆,我已經取代了印刷與(「請輸入......」),然而,它仍然不起作用。它產生藍色'請輸入人名'運行時,然後我輸入他們的名字,然後按回車,然後我最終在'>>>'的行上,只有如果我輸入小寫,我得到的人的信息,如果我做'約翰'等,我仍然得到追蹤錯誤。 – LukeW1090
您需要編寫一個函數來搜索正確的對象並打印所需的值。 – pypypy
當我在shell中'>>>'之後用小寫字母寫出名字時,我已經能夠輸出信息了。所以即時猜測我需要從輸入函數以某種方式引用?我有點不確定如何做到這一點,因爲到目前爲止,這是最複雜的事情,我知道所有的一點點,但現在試圖把它們放在一起 – LukeW1090