>>> str = input("how old are you: ")
how old are you: 12 years old
>>> print(str)
12 years old
input 함수가 호출되면 호출할 때 인자로 전달된 문자열이 출력되면서 프로그램 사용자가 무엇인가를 입력할 때까지 기다리게 된다. 따라서 이 상태에서는 무엇이든 키보드로 입력하고 입력의 끝을 의미하는 엔터키를 눌러야 한다. 그러면 키보드로 입력된 내용을 input 함수가 반환한다. 즉 다음과 같이 입력하고 엔터키를 누르면, 입력된 내용을 input 함수가 문자열의 형태로 반환해서 다음의 상태가 된다.
input() → 문자열로 반환
input 함수는 프로그램 사용자가 입력한 내용을 문자열의 형태로 반환한다는 사실을 본문에서 설명하였다. 따라서 이를 근거로 다음의 실행 흐름을 보이는 예를 작성해보자. 12, 34, 1234
>>> str1 = input()
12
>>> str2 = input()
34
>>> str1+str2
'1234'
>>>
>>> rad = eval(input("radius: "))
radius: 2.5
>>> area = rad * rad * 3.14
>>> print(area)
19.625
eval 함수는 input 함수를 잘 묶어서 사용하면 프로그램 사용자로부터 산술 연산이 가능한 '수'를 입력받을 수 있음에 대해 본문에서 설명. 따라서 이를 근거로 다음의 실행 흐름을 보이는 예를 작성해보자.
>>> num1 = eval(input("첫 번째 입력 : "))
첫 번째 입력 : 1.24
>>> num2 = eval(input("두 번째 입력 : "))
두 번째 입력 : 3.12
>>> num3 = eval(input("세 번째 입력 : "))
세 번째 입력 : 4.46
>>> num1 + num2 + num3
8.82
for i in [0,1,2]:
print(i)
print("hi")
변수 i에 0을 넣어서 for에 속한 문장들을 실행해, 그리고 이어서 i에 i을 넣어서, 마지막으로 2를 넣어서 for에 속한 문장들을 각각 실행해.
sum = 0
for i in [1,2,3,4,5,6,7,8,9,10]:
sum += i
print(sum)
# 출력
1
3
6
10
15
21
28
36
45
55
구구단에서 7단 전부를 출력하는 코드를 for 루프를 기반으로 작성해보자
multiplication = 1
for i in [1,3,5,7,9]:
multiplication *= i
print(multiplication)
for i in [1,2,3,4,5,6,7,8,9]:
gugudan7 = 7 * i
print(gugudan7)
for i in [9,8,7,6,5,4,3,2,1]:
gugudan7 = 7 * i
print(gugudan7)
sum = 0
for i in range(1, 100+1):
sum += i
print(sum)
data = int(input())
for i in range(data):
data += i
print(data)
"안녕하세요"를 총 5회 출력하는 코드를 for, range 기반으로 작성해보자
for i in range(5):
print("안녕하세요")
구구단 7단 전부를 출력하는 코드를 for, range 기반으로 작성해보자
for i in range(10):
result = 7 * i
print(result)
다음 수식의 결과를 계산해서 그 값을 반환하는 함수를 for, range 기반으로 정의해보자
X, Y제곱
예를 들어서 함수의 이름이 exp라고 할 때, exp(2,3)의 형태로 호출되면 2 2 2 = 8이므로 8이 반환되어야 한다. 이 문제는 함수 안에 for 루프를 넣어서 작성해야 한다.
def exp(num1, num2):
for i in range(num2+1):
result = num1 * i
print(result)
exp(2,3)
# 출력
6
def exp(x, y):
result = 1
for i in range(y):
result = result * x
return result
print(exp(2,3))
# 출력
8
위의 답변이 내가 풀었던 답변. 잘 안 풀려서 답지를 보고 알았음.
우선 답지의 내용은 그 수의 제곱을 구하는 문제였고, for loop가 y라는 숫자만큼 도는데, 돌 때 마다 그 결과 값에 x를
계속 곱해주는 방식이었음. 내가 풀었던 건.. 비슷하긴 했는데 어쨌든 결과를 도출하진 못했다.
"반갑습니다"를 여러 번 출력하는 greet이라는 이름의 함수를 만들어보자. 단, 몇 번 출력할지는 프로그램 사용자에게 묻고 입력받는 형태로 작성하자. 즉 함수가 호출되면 다음과 같은 실행 흐름을 보여야 한다.
greet()
인사를 몇 번 할까요? ~~ 번
반갑습니다
.....
def greet():
print("인사를 몇 번 할까요?")
data = int(input())
for i in range(data):
print("반갑습니다")
greet()