336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

파이썬 2.x 버전이 설치되어 있지않아 설치를 할 수도 있는데 pyCharm에서 interpreter 설정 변경하는 것이 귀찮아서...

http://ideone.com

에서 바로 python 2.x 버전을 실행해 볼 수 있으므로 혹시 설치가 되어 있지 않은 컴퓨터에서 잠깐 돌려보거나 핸드폰에서 돌려보고 싶다면 위 사이트에서 언어선택을 python으로 하면 python 2.x 버전 코드를 RUN 시켜볼 수 있다.

A.

사용자 입력

컴퓨터 출력

 

합산할 숫자를 하나씩 입력하고 엔터키를 누르세요.

다은 숫자 입력하세요.

4

 

 

4(입력하셨어요다음 숫자 입력하세요.

10

 

 

10(입력하셨어요다음 숫자 입력하세요.  

7

 

 

7(입력하셨어요다음 숫자 입력하세요.

0

 

 

0(입력하셨어요
지금까지 입력된 수는 총 3개 이고 합계는 21입니다.  


 A 의 경우에는 0을 입력하는 경우 프로그램을 종료한다. 0이 아닌 경우에는 계속해서 프로그램을 진행한다. 그리고 0이 입력된 경우 프로그램을 종료하기 전, 입력된 값들의 합계와 입력된 수의 갯수를 출력한다. 

 여기서 필요한 것은 반복 loop 가 필요하고 반복 loop를 탈출하는 조건으로 입력이 0 이 들어왔을 경우를 걸어주면 된다. 여러가지 방식으로 코드를 작성할 수 있을텐데.. 여러가지로 작성해보겠다 .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
print "합산할 숫자를 하나씩 입력하고 엔터키를 누르세요."
print "다음 숫자 입력하세요."
num_of_input = 0
sum_of_input = 0
while(True):
    user_input = input()
    if user_input == 0:
        break
    else:
        print user_input,"을(를) 입력하셨어요. 다음 숫자 입력하세요."
        num_of_input = num_of_input + 1
        sum_of_input = sum_of_input + user_input
print "0을(를) 입력하셨어요."
print "지금까지 입력된 수는 총",num_of_input,"개 이고 합계는",sum_of_input,"입니다."
 
cs

첫번째 경우, 무한루프 while(True): 를 만들어 내부에서 입력을 받은 후 저장을 하며, 0이 입력되기 전까지 계속해서 값을 더합니다.


 dn

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
print "합산할 숫자를 하나씩 입력하고 엔터키를 누르세요."
print "다음 숫자 입력하세요."
num_of_input = 0
sum_of_input = 0
while(True):
    user_input = input()
    print "%d을(를) 입력하셨어요." % user_input,
    if user_input == 0:
        break
    else:
        print "다음 숫자 입력하세요."
        num_of_input += 1 #더하기 할당연산자
        sum_of_input += user_input #더하기 할당연산자
print "지금까지 입력된 수는 총 %d개 이고 합계는 %d입니다." % (num_of_input, sum_of_input)
 
cs

두번째 경우, 더하기 할당연산자를 쓰고, 출력문에 문자열 포맷팅을 하여 출력을 한다. %d는 문자열 포맷 코드가 있다. 

더 자세한 건 

https://wikidocs.net/13

을 참고할 수 있다. 

 

B.

사용자 입력

컴퓨터 출력

 

합산할 숫자를 하나씩 입력하고 엔터키를 누르세요.

4

 

 

4(입력하셨어요다음 숫자 입력하세요.

-10

 

 

음수를 입력하셨네요양수를 입력하세요.   

-2

 

 

음수를 입력하셨네요양수를 입력하세요.

11

 

 

11(입력하셨어요.

…(계속)

 

위 경우에는 양수를 입력하게 하며 프로그램이 계속해서 입력을 받는 것으로 이해하였다.

1
2
3
4
5
6
7
8
9
10
11
12
print "합산할 숫자를 하나씩 입력하고 엔터키를 누르세요."
while(True):
    user_input = input()
    if user_input < 0:
        print "음수를 입력하셨네요. 양수를 입력하세요."
    elif user_input > 0:
        print "%d을(를) 입력하셨어요. 다음 숫자 입력하세요." % user_input
    else# case user_input == 0
        print "0?????? 0에 대한 출력 혹은 0이 양수로 취급할지에 대한 조건이 없음."
 
    
 
cs

0에 대한 입력은 어떻게 처리를 해줘야할 지 명시되어 있지않아 위와 같이 코딩을 하였다.

C.

컴퓨터가 1 ~ 100 의 수 중 하나를 무작위로 선택한 후 사용자가 맞추는 게임을 프로그래밍하고자 한다사용자가 숫자를 입력할 때 마다 사용자가 입력한 숫자가 컴퓨터가 선택한 숫자보다 더 큰지 작은 지를 알려 준다만일 사용자가 입력한 숫자와 컴퓨터가 선택한 숫자가 동일하면 축하 메시지를 출력하여 주고 게임을 종료한다.
보충설명컴퓨터는 한번만 숫자를 선택하고 사용자는 이 숫자를 맞추기 위하여 반복적으로 숫자를 입력한다
위 프로그램에 대한 알고리즘을 작성한 후 종이위에 프로그램을 작성하라프로그램이 완성되면 컴퓨터에 코딩하여 프로그램을 완성한다


문제 C는 마치 숫자 야구게임과 비슷하다고 볼 수 있는데 그저 컴퓨터가 random으로 할당 되는 값이 [1,100] | integer 형이기 때문에 그렇게 크게 문제가 되진 않는다. 

random으로 값을 저장하기 위해서는 random 모듈이 필요하다.

모듈을 호출할때는 import module_name 

import 모듈이름

맨 위에 작성하고 프로그램 코드를 작성하면 된다. 

random에 관한 여러가지 함수가 있는데 이는 참고할 수 있는 링크

https://wikidocs.net/79

를 첨부하고 사용하는 함수는 설명을 덧붙이겠다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import random
computer = random.randint(1,100+1
# random int ; randint(first, end) 
# 이는 first 부터 end-1 정수 중 임의적으로 할당을 받는다.
# 그렇다면 1~100 까지 임의로 할당을 받을 수 있다.
 
user = -1
while(computer != user):
    user = input()
    if user < computer :
        print "%d 수 보다 큰 수입니다." % user
    elif user > computer :
        print "%d 수 보다 작은 수입니다." % user
print "성공! %d를 맞췄습니다." % computer
cs


 


+ Recent posts