전체 글 42

while문, 루프 설계 전략/ 1부터 n 까지의 합 구하기

루프 설계 전략 1단계: 어떤 부분이 반복되어야 하는지 명령문을 파악한다. 2단계: 반복되아야 하는 명령문을 다음과 같이 루프로 작성한다 While True: 명령문 3단계: 루프-계속-조건을 작성하고 루프를 제어하기 위해 적절한 명령문을 추가한다. While 루프- 계속- 조건: 명령문 루프 제어 명령문 1부터 100까지의 합 1.계속 더해서 sum 이라는 변수에 누적되게 한다. sum = sum + i 2.반복되어야 할 문장을 다음과 같이 작성한다 while True: sum = sum + i 3.i 값이 100이 될때까지 변하도록 하나씩 증가시킨다 그래서 다음과 같이 작성한다. sum=0 i=1 while i

[파이썬] while 기초/ 뺄셈 문제

답이 음수가 나오지 않는 뺄셈 문제이다. 그래서 랜덤으로 앞의 수가 뒤의 수보다 작게 나오면 앞의 수가 뒤의 수를 바꿔준다. if n1 < n2: n1, n2 = n2 ,n1 답을 맞출 때까지 반복돼서 반복학습을 할 수 있다 그래서 while 이 사용되었다. import random n1=random.randint(0,9) n2=random.randint(0,9) if n1 < n2: n1, n2 = n2 ,n1 answer = eval(input(str(n1)+"-"+str(n2)+\ "은/는 얼마입니까?")) while n1 -n2 !=answer: answer = eval(input(str(n1)+"-"+str(n2)+\ "은/는 얼마입니까?")) print("정답입니다.")

[파이썬] random,중첩if문/ 파이썬과 가위바위보 하기

음 2 이상의 숫자를 입력해도 보로 인식한다는 문제점이 있다. 다음에 해결해보도록 하겠다. 그리고 문자를 입력했을 때도 랜덤으로 가능할까? import random python = random.randint(0,2) user = eval(input("가위(0),바위(1),보(2)를 입력하세요:")) if python == 0: if user == 0: print("파이썬은 가위. 당신도 가위. 비겼습니다.") elif user == 1: print("파이썬은 가위, 당신은 바위. 이겼습니다.") else : print("파이썬은 가위. 당신은 보. 졌습니다.") elif python == 1: if user == 1: print("파이썬은 바위. 당신도 바위. 비겼습니다.") elif user == 0:..

[파이썬] elif/ 체질량지수(BMI) 구하기

BMI에서 쓰는 키는 미터 단위이다. 사용자 편의를 위해 입력은 cm단위로 받고 m단위로 바꿔 계산한다. w = eval(input("몸무게를 입력하세요.:")) h = eval(input("키를 입력하세요.:")) hm=h hm /= 100 bmi = w/ (hm*hm) msg= "당신은" if bmi < 18.5: msg += "저체중" elif bmi < 25: msg += "정상" elif bmi < 30: msg += "과체중" else : msg += "비만" print(msg + "입니다.") hm=h hm /= 100 bmi = w/ (hm*hm) 이 부분이 헷갈려서 오류가 났었다. h를 새로운 변수에 할당을 했으니 hm으로써야하는데 계속 h를 써서 수식을 bmi = w/ (h*h)로 썼었다.

[파이썬] 비교연산자/윤년 판단하기

4년에 한번씩 돌아오고 2월이 29일까지 있는 해가 윤년이며 윤년이 될 수 있는 조건은 3가지가 있는데 윤년은 4번에 한번 돌아온다. 즉 4로 나누어 떨어져야 한다.(4의 배수여야한다.) 두번 째는 4의 배수여야하면서 동시에 100으로 나누어 떨어지면 안된다. 즉, 100으로 나눴을 때 몫이 0이면 안된다. 세번 째는 앞의 조건과 상관없이 400으로 나누어 떨어지면(400의배수면) 윤년이다. (예를 들면 800이라는 연도가 있을 때, 4의 배수가 맞으므로 첫번째 조건을 만족한다. 그런데 100의 배수이기도 하므로 두번째 조건을 만족하지 못한다. 그렇지만 400의 배수이므로 세번째 조건을 만족하여 두번째 조건과 상관없이 윤년이 된다.) 첫번째 두번째 조건은 둘 다 성립해야하므로 and 연산자를 써주고 세번..

[파이썬] elif/출생년도를 입력하면 띠를 알려주는 프로그램

원숭이띠의 생년은 12의 배수이다. 2004, 1992, 1980 등은 12로 나눴을 때 나머지가 0으로 떨어진다. (12x165는 1980, 12x166은 1992, 12x167은 2004이다.) 그러면 원숭이의 다음이 닭이므로 닭 해에 태어나면 나머지가 1이고 그 다음은 개 이므로 개 해에 태어나면 나머지가 2이다. 그러면 순서대로 원숭이, 닭, 개, 돼지, 쥐, 소, 범, 토끼, 용, 뱀, 말, 양 나머지가 앞에 띠보다 1씩 증가한다. 이것을 이용하여 띠 입력하는 프로그램을 만들면 다음과 같다. year = eval(input("출생년도를 입력하세요:")) zy = year % 12 if zy == 0: print("원숭이") elif zy == 1: print("닭") elif zy == 2: p..

[파이썬] if, else, elif /반지름 구하기

radius= eval(input("반지름을 입력하세요:")) if radius > 0 : print("넓이는", radius * radius * 3.141592, "입니다.") print("둘레는",2*radius*3.141592,"입니다.") elif radius< 0 : print("양수를 입력해주세요.") 6강에서 입력값이 0보다 커야만 반지름을 입력하는 프로그램을 작성했었는데, 음수를 입력하면 아무일도 일어나지 않아 내가 elif radius0: print("넓이는", radius*radius*3.141592, "입니다.") print("둘레는", 2*radius*3.141592, "입니다.") else: print("잘못된 입력입니다.") 이렇게 여기서는 굳이 elif를 안써도 상관없는데 내가..