datascienceschool / book

23 stars 23 forks source link

01%20python/02.05%20%ED%8C%8C%EC%9D%B4%EC%8D%AC%20%EC%A1%B0%EA%B1%B4%EB%AC%B8%20%EA%B8%B0%EC%B4%88 #40

Open utterances-bot opened 3 years ago

utterances-bot commented 3 years ago

2.5 파이썬 조건문 기초 — 데이터 사이언스 스쿨

https://datascienceschool.net/01%20python/02.05%20%ED%8C%8C%EC%9D%B4%EC%8D%AC%20%EC%A1%B0%EA%B1%B4%EB%AC%B8%20%EA%B8%B0%EC%B4%88.html

1mars1 commented 3 years ago

중첩조건문 첫번째 예제에서 else 안의 푸쉬업 개수 5개 아닌가요? sex = "boy" pushup = 8

if sex == "boy": if pushup >= 10: grade = "Pass" else: grade = "Fail" else: if pushup >= 5: grade = "Pass" else: grade = "Fail"

print(grade)

Min-Jun-Kang commented 2 years ago

XA = input("자백을 했습니까? : ") XB = input("자백을 했습니까? : ")

if XA == "네": XA = True else: XA = False if XB == "네": XB = True else: XB = False

if XA == True: if XB == True: YA = 5 YB = 5 print("죄수A는 징역 {}년이고 죄수B는 징역 {}년이다.".format(YA,YB)) else: YA = 0 YB = 10 print("죄수A는 석방 죄수B는 징역 {}년이다.".format(YB)) else: if XB == True: YA = 10 YB = 0 print("죄수A는 징역 {}년이고 죄수B는 석방이다.".format(YA)) else: YA = 1 YB = 1 print("죄수A는 징역 {}년이고 죄수B는 징역 {}년이다.".format(YA,YB))

hsjjjj commented 2 years ago

XA=input("A 자백했나요?:") XB=input("B 자백했나요?:")

if XA=="네": XA=True else: XA=False

if XB=="네": XB=True else: XB=False

if (XA)&(XB): print("둘다 5년")

if (XA==1)&(XB==0): YB=5 print("B가 {}년".format(YB))

if (XA==0)&(XB==1): VA=5 print("A가 {}년".format(YA))

if (XA==0)&(XB==0): print("둘다 1년")

hsjjjj commented 2 years ago

c=int(input("수박의 무게는?"))

if c >= 10: print("1") elif c >= 7: print("2") elif c >= 4: print("3") else: print("4")

you-eun-jee commented 2 years ago

XA = True # True : 자백(배신) / False : 자백하지 않음 XB = False sA = 0 # A가 받는 형량 (년) sB = 0 # B가 받는 형량 (년)

if XA == True : if XB == True : sA = 5 sB = 5 print("A의 형량은 {0}년이고, B의 형량은 {1}입니다".format(sA,sB)) else : sA = 0 sB = 10 print("A는 바로 석방되고, B의 형량은 {0}입니다".format(sB)) else : if XB == True : sA = 10 sB = 0 print("A의 형량은 {0}년이고, B는 바로 석방됩니다".format(sB)) else : sA = 1 sB = 1 print("A의 형량은 {0}년이고, B의 형량은 {1}입니다".format(sA,sB))

with-serendipity commented 1 year ago

연습 문제 2.5.5 xa = "자백" xb = "자백"

if xa == "자백": print("a: 자백함") else: print("a: 자백하지 않음")

if xb == "자백": print("b: 자백함") else: print("b: 자백하지 않음")

ya = [0,1,5,10] yb = [0,1,5,10]

if xa == "자백": if xb == "자백": print( "a는 {0[2]}년 복역" .format(ya)) print( "b는 {0[2]}년 복역" .format(yb)) else : print( "a는 {0[0]}년 복역" .format(ya)) print( "b는 {0[3]}년 복역" .format(yb)) else: if xb == "자백": print( "a는 {0[3]}년 복역" .format(ya)) print( "b는 {0[0]}년 복역" .format(yb)) else: print( "a는 {0[1]}년 복역" .format(ya)) print( "b는 {0[1]}년 복역" .format(yb))

Joyzdong commented 1 year ago

2.5.2

y=2100
if y % 400 == 0 or y % 100 != 0 and y % 4 == 0:
    print('윤년입니다.')
else:
    print('윤년이 아닙니다.')

2.5.5 방법1

XA, XB = True, False
if XA and XB:
    YA, YB = 5, 5
elif XA and not XB:
    YA, YB = 0, 10
elif not XA and XB:
    YA, YB = 10, 0
else:
    YA, YB = 1, 1

방법2

XA, XB = True, False
jail = [[(1, 1), (10, 0)], [(0, 10), (5, 5)]]
YA, YB = jail[XA][XB]

출력

YA, YB
woominKIM commented 1 year ago

죄수의 딜레마

XA = input("A는 자백했나요?(네,아니오)") XA = bool(XA == "네") XB = input("B는 자백했나요?(네,아니오)") XB = bool(XB == "네") YA = 0 if XA and not XB else (5 if XA and XB else (10 if not XA and XB else 1)) YB = 0 if XB and not XA else (5 if XB and XA else (10 if not XB and XA else 1)) print("A는" + str(YA) + "년 복역합니다") print("B는" + str(YB) + "년 복역합니다")

RSY2024 commented 9 months ago

XA = True XB = "confess"

if XA == True: if XB == "confess": YA = 5 YB = 5 else: YA = 0 YB = 10

if XA == False: if XB == "confess": YA = 10 YB = 0 else: YA = 1 YB = 1

print("죄수A는 징역 {}년이고, 죄수B는 징역 {}년 이다.".format(YA,YB))

limjhily commented 7 months ago

xa = True xb = True

if xa == True : if xb == True: ya = 5 yb = 5 else : ya = 0 yb = 10 else : if xb == True : ya = 10 yb = 0 else : ya = 1 yb = 1

print(f"A의 형량은{ya},B의 형량은{yb}")

Jeon-doun commented 5 months ago

XA = eval(input('죄수 A 자백하시겠습니까? (자백하면 True, 그렇지 않으면 False)')) XB = eval(input('죄수 B 자백하시겠습니까? (자백하면 True, 그렇지 않으면 False)'))

if XA == True: if XB == True: YA, YB = 5, 5 elif XB == False: YA, YB = 0, 10 elif XA == False: if XB == True: YA, YB = 10, 0 elif XB == False: YA, YB = 1, 1

print('죄수 A의 형량은 {}년, 죄수 B의 형량은 {}년 입니다.'.format(YA, YB))

jihyeyu33 commented 3 months ago

XA = False XB = True

YA = 0 YB = 0

if XA == True: if XB == XA: YA = 5 YB = 5 else: YA = 0 YB = 10 else: if XB == XA: YA = 1 YB = 1 else: YA = 10 YB = 0

print(YA, YB)

JKH-ML commented 1 month ago
# 중복 조건문 활용
def sol1(XA, XB):
    if XA == True : 
        if XB == True :
            YA = 5
            YB = 5
        else :
            YA = 0
            YB = 10
    else :
        if XB == True :
            YA = 10
            YB = 0
        else :
            YA = 1
            YB = 1
    return YA, YB

# 논리 게이트 활용
# 1 = 자백, 0 = 자백 안함
#   XA  XB  YA  YB
#   0   0   1   1
#   0   1   10  0
#   1   0   0   10
#   1   1   5   5

# YA =  1*(XA' AND XB') + 10*XB*(XA XOR XB) + 5*(XA AND XB)
# YB는 위의 식에서 A와 B를 바꿔주면 된다.

def AND(a, b):
  return a and b

def OR(a, b):
  return a or b

def NOT(a):
  return not a

def XOR(a, b):
  return (a and not b) or (not a and b)

def sol2(XA, XB):
    YA = 1*AND(NOT(XA), NOT(XB)) + 10*XB*XOR(XA, XB) + 5*AND(XA, XB)
    YB = 1*AND(NOT(XB), NOT(XA)) + 10*XA*XOR(XB, XA) + 5*AND(XB, XA)
    return YA, YB

print(sol1(True, True), sol2(True, True))
print(sol1(True, False), sol2(True, False))
print(sol1(False, True), sol2(False, True))
print(sol1(False, False), sol2(False, False))