建立一個類別 可以儲存屬性:寵物名、年紀、毛顏色
讓使用者建立3隻動物 寵物名、年紀、毛顏色
提示:可存入陣列[]
使用者輸入完後找出年紀最大 與 最小
並印出
寵物名,是年紀最大者 12歲
寵物名,是最年輕為 5歲
- 步驟1:先儲存三隻寵物的名、年紀、毛色,並印出
- 步驟2:找出陣列中年紀最大與最年輕者
- 完整程式碼
參考Code:
步驟1:先儲存三隻寵物的名、年紀、毛色,並印出
方式一:
#請用物件導向寫法
#建立3隻狗 儲存屬性: 寵物名、年紀、顏色
class Cat2:
def __init__(self, name, age, color):
self.name = name
self.age = age
self.color = color
# 建立3隻寵物並儲存在 List 之中
#方法一:
cats = [
Cat2(input("請輸入寵物名1="), input("請輸入age="), input("請輸入color=")),
Cat2(input("請輸入寵物名2="), input("請輸入age="), input("請輸入color=")),
Cat2(input("請輸入寵物名3="), input("請輸入age="), input("請輸入color=")),
]
for key in cats:
print("名",key.name)
print("年紀",key.age)
print("毛色",key.color)
方式2: 重複的地方,需要再簡寫,使用for迴圈,append去添加陣列資料
#請用物件導向寫法
#建立3隻狗 儲存屬性: 寵物名、年紀、顏色
class Cat2:
def __init__(self, name, age, color):
self.name = name
self.age = age
self.color = color
# 建立3隻寵物並儲存在 List 之中
#方法二:
cats=[]
for times in range(3):
cats.append(Cat2(input("請輸入寵物名="), eval(input("請輸入age=")), input("請輸入color=")))
for x in cats:
print(x.name)
print(x.age)
print(x.color)
步驟2:找出陣列中年紀最大與最年輕者
#找出年紀最大與最年輕者
maxcats=0 #(第一圈=2,第二圈5,第三圈8) 最大=8
mincats=30#(第一圈=2,第二圈2,第三圈2) 最小=2
for x in cats:
if(x.age>maxcats):#(第一圈:2 > 0 ,第二圈:5 > 2 ,第三圈 : 8>5)
maxname=x.name #(第一圈: a1 ,第二圈 : a2 ,第三圈 : a3)
maxcats=x.age # (第一圈: 2 ,第二圈: 5 ,第三圈 :8)
if(x.age<mincats):#(第一圈:2 < 30,第二圈 : 5 < 2 , 第三圈 : 8<5)
minname=x.name #(第一圈: a1 ,第二圈不跑 ,第三圈不跑)
mincats=x.age #(第一圈: 2 ,第二圈不跑,第三圈不跑)
# 找出最大的年紀數字
print("{} 年紀最大者 {} 歲".format(maxname,maxcats))
print("{} 是年輕者為 {} 歲".format(minname,mincats))
完整程式碼
#請用物件導向寫法
#建立3隻狗 儲存屬性: 寵物名、年紀、顏色
class Cat2:
def __init__(self, name, age, color):
self.name = name
self.age = age
self.color = color
# 建立3隻寵物並儲存在 List 之中
#方法一:
"""
cats = [
Cat2(input("請輸入寵物名1="), input("請輸入age="), input("請輸入color=")),
Cat2(input("請輸入寵物名2="), input("請輸入age="), input("請輸入color=")),
Cat2(input("請輸入寵物名3="), input("請輸入age="), input("請輸入color=")),
Cat2(input("請輸入寵物名4="), input("請輸入age="), input("請輸入color=")),
Cat2(input("請輸入寵物名5="), input("請輸入age="), input("請輸入color="))
]
"""
#方法二:
cats=[]
for times in range(3):
cats.append(Cat2(input("請輸入寵物名="), eval(input("請輸入age=")), input("請輸入color=")))
"""
for x in cats:
print(x.name)
print(x.age)
print(x.color)
"""
#找出年紀最大與最年輕者
maxcats=0
mincats=20
for x in cats:
if(x.age>maxcats):
maxname=x.name
maxcats=x.age
if(x.age<mincats):
minname=x.name
mincats=x.age
# 找出最大的年紀數字
print("{} 年紀最大者 {} 歲".format(maxname,maxcats))
print("{} 是年輕者為 {} 歲".format(minname,mincats))
Yiru@Studio - 關於我 - 意如