Python Day 5 n次元データ、比較/論理演算子
復習Day 4
Day 4復習とDay 5カリキュラムリソース
1-1. 次の「for文」と「informixing」を使用して出力します.
출력예시
가 나
다 라
마 바
list1 = ['가', '나', '다', '라', '마', '바']
for i in range(len(list1)):
print(list1[i], list1[i+1])
1-2. 次の「for文」と「informixing」を使用して出力します.출력예시
바 마
마 라
라 다
다 나
나 가
list1 = ['가', '나', '다', '라', '마', '바']
for i in range(len(list1), 0, -1):
print(list1[i], list1[i-1])
2 Dリスト2 Dりすと
2-1. 下図を参照して、2階建てのマンションを2次元の単子洞に設置してください.
101호|102호
201호|202호
301호|302호
401호|402호
dong = []
for i in range(1, 5):
dong_e = ["{0}01호".format(i), "{0}02호".format(i)]
dong.append(dong_e)
print(dong)
2 2 3階だけ探してprint(dong[2])
2 3 102番のみ検索print(dong[0][1])
24 2番線すべて検索プール1#풀이1
for j in range(len(dong)):
print(dong[j][1])
#풀이2
for k in dong:
print(k[1])
2 5最終レイヤーからデジタル順に出力for j in range(len(dong)-1, -1 , -1):
print(dong[j][0])
print(dong[j][1])
2 6最後の階から湖の逆順で出力(池2の方式で)for row in dong[len(dong) : : -1]:
print(row[1])
print(row[0])
3dong1 = {}
for i in range(1, 3):
dong1["{0}호".format(i)] = ["10{0}호".format(i), "20{0}호".format(i), "30{0}호".format(i), "40{0}호".format(i)]
print(dong1)
print(dong1.get("1호")[2], dong1.get("2호")[2])
#단 get 없이 dong1("1호")[2]로 써도 되는데 만약 호출 key 값이 없을시 에러가 난다. 게다가 get을 쓸 때는 없을시 안내문도 추가할 수 있다.
print(dong1.get("2호")[0])
print(dong1.get("2호"))
for j in range(1, 3):
print(dong1.get("{0}호".format(j)))
1.n次元リストとディクシャナリー
1)n次元リストとその出力方法
実習ホーム印刷
実習パパだけ印刷# 3차원 리스트
gagu = [ [ ['짱구', '짱구엄마' , '짱구아빠', '짱아'],['훈이', '훈이엄마' , '훈이아빠'] ] ]
# 1번 풀이
for i in range(2):
print(gagu[0][i])
# 2번 풀이
for i in range(2):
print(gagu[0][i][2])
実習パパだけに印刷
インデックス2の位置にはお父さんがいないかもしれないからです.
(家族の順序が異なるか、家族がいない場合)
リストで「お父さん」を探します.#풀이 1 불러온 값의 마지막 두 글자 매칭
# 약점발견_ j[-2:] 마지막에서 두 번째까지 꺼낸다는 뜻인데 거꾸로 인덱스 표현하는데에서 좀 헤맸다.
gagu = [ ['짱구', '짱구엄마' , '짱구아빠', '짱아'],['맹구'], ['철수엄마' , '철수'], ['훈이', '훈이아빠' , '훈이엄마', '훈이동생']]
for i in gagu:
for j in i:
if j[-2:] == "아빠":
print(j)
#풀이 2 변수.find() 활용
gagu = [ ['짱구', '짱구엄마' , '짱구아빠', '짱아'],['맹구'], ['철수엄마' , '철수'], ['훈이', '훈이아빠' , '훈이엄마', '훈이동생']]
for i in gagu:
for j in i:
if j.find("아빠") >0:
print(j)
2)nviディック電池及びその出力方法
実習3 apt変数名ディックショーニーの「1番」にクレヨンしんちゃんファミリー、「2番」にフンファミリー
実習
# 3차원 리스트
gagu = [ [ ['짱구', '짱구엄마' , '짱구아빠', '짱아'],['훈이', '훈이엄마' , '훈이아빠'] ] ]
# 1번 풀이
for i in range(2):
print(gagu[0][i])
# 2번 풀이
for i in range(2):
print(gagu[0][i][2])
#풀이 1 불러온 값의 마지막 두 글자 매칭
# 약점발견_ j[-2:] 마지막에서 두 번째까지 꺼낸다는 뜻인데 거꾸로 인덱스 표현하는데에서 좀 헤맸다.
gagu = [ ['짱구', '짱구엄마' , '짱구아빠', '짱아'],['맹구'], ['철수엄마' , '철수'], ['훈이', '훈이아빠' , '훈이엄마', '훈이동생']]
for i in gagu:
for j in i:
if j[-2:] == "아빠":
print(j)
#풀이 2 변수.find() 활용
gagu = [ ['짱구', '짱구엄마' , '짱구아빠', '짱아'],['맹구'], ['철수엄마' , '철수'], ['훈이', '훈이아빠' , '훈이엄마', '훈이동생']]
for i in gagu:
for j in i:
if j.find("아빠") >0:
print(j)
# 3번 풀이
apt = {}
for i in range(len(gagu)+1):
apt["{0}호".format(i+1)] = gagu[0][i] #가족별로 1호, 2호 딕셔너리에 담기
# 4번 풀이
kind = {}
kind["떡잎유치원"] = apt
2.深化比較/論理演算子
1)比較演算子
A.種類
ただし、Pythonには完全な恒等演算子(==)はありません.
# 예제 1
print(1 == 1.0) #True 타입은 상관없이 값이 같은지 판단한다.
print(1 is 1.0) #False 타입이 달라 다른 객체, 다른 주소로 저장되기 때문이다.
# 예제2_ 얕은 복사 vs 깊은 복사
arr = [10, 20, 30, 40 , 50]
copy1 = arr
print(arr is copy1)
import copy
arr2D = ['Hello', 'Bye', 'Hi', ['Goodnight', 'Goodmorning', 'Goodafternoon']]
arr2deep = copy.deepcopy(arr2D)
print(arr2D is arr2deep)
2)論理演算子
A.起動方式
print(False or "Hello") #Hello 헬로 역시 참이다.
print("hello" or True) #hello
print(True or "Hello")
#True or는 순서상 True 나오면 그 값까지 확인하고 출력한다.
print(True and "Hello")
#Hello and는 False가 나오면 그 값까지 확인하고 바로 출력한다.
B.操作手順
print(not True and False or not False)
#(1_not True) (3_and) False (4_or) (2_not False)
#1 not True → False
#2 not False → True
#3 False and False → False
#4 False or True → 결과
#결과 True
3)比較演算子と論理演算子を一緒にする場合
#예시_1
print(not 1 is 1.0)
#1 1 is 1.0 비교연산 is부터 판단
#2 not False 논리연산 not 판단
#3 결과 True
#예시_2
arr = [1, 3, 4]
print((2 or 1 or 3) in arr)
print(2 or 1 or 3) # 2 이다. or는 True가 나오면 멈추고 출력하기 때문이다.
#0이 아닌 비어있지 않은 모든 값은 True, 빈문자, 빈객체, 0은 모두 False이다.
実習1ベスキンロビンス31ゲーム
import random
num1 = random.randint(1, 32)
while True:
cnt = input("숫자를 말해보세요. 아무 것도 말하지 않으면 게임종료하고 파토함") or -1
if cnt == -1:
cnt = "얘는 하기 싫음"
break
elif int(cnt) < 0 or 31 < int(cnt):
print("마셔라 마셔!")
elif num1 < int(cnt):
print("down")
elif num1 > int(cnt):
print("up")
elif num1 == int(cnt):
print("{0}, 성공입니다.".format(num1))
break
else:
pass
Reference
この問題について(Python Day 5 n次元データ、比較/論理演算子), 我々は、より多くの情報をここで見つけました https://velog.io/@sungrok7/Python-Day-5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol