2017-08-15 1 views
0

私はその人に関する詳しい情報を受け取るために名前を入力する簡単なコードを持っています。例えば、Johnについての情報は、「john」と入力してください。ただし、ユーザーが 'John'または 'JOHN'を入力すると、次のようなトレースバックエラーが発生します。ユーザー入力時の資本トレースバックエラーを作成していますか?

Traceback (most recent call last): 
    File "<pyshell#0>", line 1, in <module> 
    John 
NameError: name 'John' is not defined 

私はしかし、それはまだ「ジョン」/「JOHN」などを受け入れ、そして小文字でジョンに関するすべての情報を返していないエラーなし(現在は削除)の場所で私のコードに.lower()を挿入することができました - これは私が望むものではありません。

ユーザーが大文字で入力できるようにすることはできますか?私は非常にPythonの新機能であり、これは非常にまっすぐです、そして私は.lower()input().lower()と同様のスレッドを見たことがありますが、ユーザーが「John」を入力できるようにするために、などありがとう。あなたが使用する必要が

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

おかげで、私は、しかし、それはまだdoesntの仕事で(「入力してください...」)の印刷を交換しました。それは青で '実行するときに人名を入力してください'、その後私は彼らの名前を入力し、Enterキーを押して、私は '>>>'だけで行に終わる私は小文字で入力すれば、もし私が 'John'などしたら、まだトレースバックエラーが出ます。 – LukeW1090

+0

正しいオブジェクトを検索して必要な値を印刷する関数を記述する必要があります。 – pypypy

+0

シェルで「>>>」の後ろに小文字で名前を書くと、すでに情報を出力することができます。だから、私は何とか入力関数から参照する必要があると思いますか?私はこれまでのところ、最も複雑なことをやっていましたが、私はすべての小さなビットを認識していましたが、今はそれらをまとめようとしています – LukeW1090

関連する問題