스터디/파이썬 스터디 과제

[3팀 / 김은수] 5차시 파이썬 과제 - 함수형

lyra8 2023. 4. 12. 23:01

1번 정답 : 1번

 

2번 정답:2

 

3번 정답: 3번

print(f(3))을 하면 y=3, x=7이니 반환 값으로 21이 나옵니다.

print(x)를 시행하면 전역변수 x=4이 의해 4가 나옵니다.

 

4번 정답: 1번

키워드 인수는 순서에 상관없이 원하는 변수에 인수를 넣기 때문입니다.

 

5번 정답 : 1번

매개변수가 없을 때 반환값만 있는 경우 그 반환값만 도출되기 때문입니다.

 

6번 정답: 1번

전역변수가 더 우선이기 때문입니다.

 

7번 정답: 1번

say_myself함수가 다 돌아간 뒤 if문이 시행되기 때문에 이름 나이 성별 순서대로 값이 출력될 것입니다.

 

8번 정답 :

Value: 10

Value: 20

exam함수안에 있는 x는 지역변수이기 때문에 10이 나오고

마지막 줄에는 전역변수 값인 20이 들어갑니다.

 

9번 정답 : 1번

 

10번 정답 : 2번

print(hi(test_data))

=hi(3)*3

=3*3

=9 기 때문입니다.

 

11번 정답 : [1,2,3,4,5]

 

12번 정답 : 1번

전역변수 a=111과 b=222에 의해 function_1은 111 222가 순서대로 나올 것이고 function_2는 222와 지역변수 a에 의해 333이 나올 것입니다.

 

13번

#정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오.
#작성해야하는 함수는 다음과 같습니다.
#a : 합을 구해야 하는 정수 n개가 저장되어 있는 리스트
#(0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤3,000,000)
#리턴값 : a에 포함되어 있는 정수 n개의 합 (정수)
hap=0
n=int(input("정수를 입력하세요 : "))
for n in range(0,n+1):
    hap+=n
    n+=1
print(hap)번

#함수를 넣어서는 어떻게 적용해야할지 모르겠어요..

14

n=list() #값들이 들어갈 리스트를 만들어줍니다.
for i in range(10000): #i를 10000번 반복할때
    if i >=1000:
        i=i+(i%10)+((i//10)%10)+((i//100)%10)+((i//1000)%10)
        #i와 1의자리와 10의자리와 100의자리와 1000의자리 숫자를 더하고
        n.append(i)
        #리스트에 추가합니다
    elif i>=100:
        i=i+(i%10)+((i//10)%10)+((i//100)%10)
        #i의 범위가 100까지니까 100의자리까지 더하고
        n.append(i)
        #리스트에 추가합니다.
    elif i>=10:
        i=i+(i%10)+((i//10)%10)
        n.append(i)
        #마찬가지로 10의자리까지 구하고
        #리스트에 추가합니다
    else:
        i=i+i
        n.append(i)
        

for i in range(10000):
    if i not in n:
        print(i)
        #셀프넘버는 생성자가 없는 숫자기 때문에
        #n리스트에 들어가지 못하고
        #들어가지 못한 숫자들을 출력합니다.