2017-08-15 54 views
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") 

回答

1

您需要使用:

name = input('Please enter the persons name').lower() 
+0

感謝您的答覆,我已經取代了印刷與(「請輸入......」),然而,它仍然不起作用。它產生藍色'請輸入人名'運行時,然後我輸入他們的名字,然後按回車,然後我最終在'>>>'的行上,只有如果我輸入小寫,我得到的人的信息,如果我做'約翰'等,我仍然得到追蹤錯誤。 – LukeW1090

+0

您需要編寫一個函數來搜索正確的對象並打印所需的值。 – pypypy

+0

當我在shell中'>>>'之後用小寫字母寫出名字時,我已經能夠輸出信息了。所以即時猜測我需要從輸入函數以某種方式引用?我有點不確定如何做到這一點,因爲到目前爲止,這是最複雜的事情,我知道所有的一點點,但現在試圖把它們放在一起 – LukeW1090