1
0

クラスの作成

Last updated at Posted at 2024-03-01

未だにクラスに慣れていないのでなかなか戸惑います
0からはじまるので-1しないと中身が出てこないとか忘れてました。。。

class Employee():
    def __init__(self,number,name):
        self.number = int(number)
        self.name = name
    
    def getnum(self):
        return self.number
    
    def getname(self):
        return self.name
        

N = int(input())
A = []
employees = []
for _ in range(N):
    A =input().split()
    if A[0] == "make":
        employee = Employee(A[1],A[2])
        employees.append(employee)
        
    elif A[0] == "getnum":
        number = int(A[1]) - 1
        print(employees[number].number)
    elif A[0] == "getname":
        number = int(A[1]) - 1
        print(employees[number].name)

getnumとgetname使えてなかったですね。。
やり直します

class Employee():
    def __init__(self,number,name):
        self.number = int(number)
        self.name = name        
    
    def getnum(self):
        return self.number
    
    def getname(self):
        return self.name
        

N = int(input())
A = []
employees = []
for _ in range(N):
    A =input().split()
    if A[0] == "make":
        employee = Employee(A[1],A[2])
        employees.append(employee)
        
    elif A[0] == "getnum":
        number = int(A[1]) - 1
        print(employees[number].getnum())
    elif A[0] == "getname":
        number = int(A[1]) - 1
        print(employees[number].getname())

クラスでなにかする流れとしては、
構造体クラスを作成して、そこにデータをつっこんでリストを作り
全体でリストをあつめてデータ化し、全体リストにappendで格納する
そしてそこから全体リストの何番目の要素を使ってメソッドをつかう
って感じの流れですね。。。

クラスを使い慣れていないのでしばらく慣れるまで時間がかかりそうです。。

1
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0