CSRF가 클라이언트 측에서 위조된 요청을 보내는 거라면 SSRF는 서버 측에서 위조된 요청을 보내도록 하는 취약점이다.
SSRF 취약점을 이용해서 공격자는 웹앱과 같은 서버측 프로그램이 임의의 주소로 HTTP 요청을 보내게 된다. 그러면 일반적으로 사용자들이 접근할 수 없었던 서버 내부 자원에 접근해서 API key와 같은 중요 데이터가 유출되거나 내부 네트워크 스캔 그리고 경우에 따라 임의 코드 실행이나 임의 파일 쓰기 등의 허가받지 않은 행위가 가능할 수 있다.
SSRF 공격과정
1) SSRF 공격
1. 홈페이지에 접속합니다
2. 상품을 클릭해 재고개수를 알려주는 check stock을 클릭합니다.
3. api 기능을 이용하여 재고개수를 가져오는 stockApi구문을 확인합니다
4. "stockApi= http://127.0.0.1/admin" 해당 페이로드를 삽입하여 관리자 페이지에 접속할 수 있습니다.
fruits = ["Apple", "Peach", "Pear"]
for fruit in fruits:
print(fruit)
결과: Apple
Peach
Pear
1) 실습예제
Exercise)
student_heights = input("Input a list of student heights ").split()
for n in range(0, len(student_heights)):
student_heights[n] = int(student_heights[n])
위 코드는 수정하지 않고 코드를 추가하여 입력한 키들의 평균을 출력하는 프로그램을 작성하세요
Solution)
student_heights = input("Input a list of student heights ").split()
for n in range(0, len(student_heights)):
student_heights[n] = int(student_heights[n])
total_height = 0
for sum_height in student_heights:
total_height += sum_height
len_height = 0
for sum_len_height in student_heights:
len_height += 1
avg_height = total_height / len_height
print(round(avg_height))
먼저 키의 합계를 담을 변수를 선언합니다
for문 안에 total_height += sum_height는 다음과 같은 수식을 의미합니다
total_height = total_height + sum_height
따라서 반복문을 통해 입력된키를 최종키에 더하고 그 최종키를 다시 다음 입력된키와 더해서 모든 입력된 키들의 합을 구합니다
평균키를 구하려면 키의합계를 사람수대로 나누면됩니다
키의개수는 반복문을 통해 계속 1씩더하고 새로운 변수를 만들어 평균키를 저장하여 출력합니다.
2. for문과 range()함수
앞에서는 리스트를 이용해 for문을 사용하는 방법이었습니다.
이번에는 숫자를 이용해 1 부터 100까지의 합과 같은 사람이 계산하기에 시간이 많이드는 계산을 하는 방법입니다.
ex) 1부터 100까지 합을 구하는 for문을 만들어보겠습니다
total = 0
for number in range(1, 101):
total += number
print(total)
최초합계는 0으로 저장합니다
for문 안에 number라는 변수를 선언하고 1부터 100까지(1, 100은 1부터 99를 의미합니다) 반복하게 합니다
처음은 합계의 1을더해 total변수에 저장하고 그 다음은 total변수의 1에 2를 더한 값을 total에 저장하는 방식으로 100까지 반복합니다
최종적으로 계산한 값을 출력합니다.
1) 실습예제
Exercise) 1부터 100까지 짝수만 더한 값을 출력하는 프로그램을 만드세요
Solution)
total = 0
for number in range(2, 101, 2):
total += number
print(total)
names_string = input("Give me everybody's names, separated by a comma. ")
names = names_string.split(", ")
위 코드를 수정하지 않고 코드를 추가하여 입력된 이름을 랜덤으로 뽑아 밥값을 내는 프로그램을 작성하세요
*Hint* 리스트를 사용하고, len()함수를 사용해 보세요
Solution)
names_string = input("Give me everybody's names, separated by a comma. ")
names = names_string.split(", ")
import random
len_names = len(names)
rand_name = random.randint(0, len_names - 1)
person = names[rand_name]
print(f"{person} is going to buy the meal today")
랜덤 모듈을 불러옵니다
입력된 이름이 몇개인지 len()함수로 개수를 셉니다
랜덤하게 뽑기 위해 random.randint함수를 사용합니다
랜덤으로 뽑힌 값을 리스트에 대입해야 하기 때문에 0부터 시작하여 변수에서 1을 뺀 숫자까지만 뽑게 합니다
person이라는 변수에 랜덤하게 뽑힌값을 names리스트에 넣어줍니다
그렇게 되면 예를 들어 이름이 5개면 0부터 4까지 랜덤하게 값을 뽑고 3이 뽑혔다면 names[3]이 되어 names 리스트의 3자리의 위치한 이름이 출력됩니다
f스트링으로 person변수를 대입해 밥값낼 사람이 누구인지 출력합니다
2. 중첩 리스트
중첩 리스트는 리스트안에 또다른 리스트가 있는것으로 즉, 두개의 리스트를 하나로 합친것입니다.
ex)
list1 = [1,2,3,4,5]
list2 = ["a","b", "c", "d", "e"]
list3 = [list1, list2]
print(list3[1],[1])
위 코드의 내용은 list1,list2 두개의 리스트를 list3로 묶어서 list3의 1번 리스트에 1번요소를 출력하란 내용입니다
파이썬에서 if문은 "만약에"에 대한 처리를 파이썬에서는 if 조건문을 이용해서 처리를 합니다.
파이썬 문법을 이용하여 if 를 만들면 다음과 같이 됩니다.
if 배가 고프면:
밥을 먹는다.
else:
음료를 마신다.
if -> 만약에
else -> 만약에 그렇지 않으면
자세히 보면 if와 else 문자의 끝에 콜론(:)이 있습니다.
이것은 쉽게 말하면 파이썬에서 조건이 참이면 "다음 문구를 실행합니다." 라는 것을 알려주는 것입니다.
그리고 그 다음줄에는 위의 if, else 문 다음 문장은 한단계 들여쓰기 하여서 문법을 작성합니다.
그 이유는 파이썬 문법으로 위에 있는 if, else 에 포함된 문장이라는 것을 인식하게됩니다.
파이썬에서는 들여쓰기를 잘못해도 문법오류가 발생해 프로그램 실행이 안될 수 있습니다.
1) 실습예제
Exercise)
number = int(input("Which number do you want to check? "))
위의 코드는 수정하지 않고 코드를 추가하여 입력받은 정수를 홀수인지 짝수인지 알려주는 프로그램을 만드세요
Solution)
number = int(input("Which number do you want to check? "))
if (number % 2 == 0):
print("This is an even number")
else:
print("This is an odd number")
이번문제는 생각보다 간단합니다 짝수는 2로 나누었을때 나누어 떨어지므로 나머지가 0이고 홀수는 나머지가 1이 남기 떄문에 이 논리를 이용하면 쉽게 풀립니다
나머지를 구하는 연산자인 % 연산자를 사용해 2로 나누었을때 나머지가 0이면 짝수이고
그 외에는 홀수다 라는 출력문을 출력하면 됩니다.
2. 중첩 if / elif
1) 중첩 if
중첩 if문은 간단히 말해 if문 안에 또다른 if문을 삽입하는 것입니다.
중첩 if문은 횟수 제한없이 무한으로 계속 넣을 수 있습니다.
중첩 if문을 예시로 만들면 다음과 같습니다.
x = 10
if x >= 8:
print("8이상입니다.")
if x == 10
print("10입니다")
if x == 15
print("15입니다")
2) elif
elif는 else if라는 뜻으로 if문 없이 독단적으로 사용할 수 없습니다.
elif는 위의 if문의 조건이 거짓일때 실행되는 조건문입니다.
1-1 실습예제
Exercise)
height = float(input("enter your height in m: "))
weight = float(input("enter your weight in kg: "))
저번에 만들었던 BMI 계산기입니다. 이번엔 더 업그레이드하여 계산된 BMI수치에 따라 저체중, 적정체중, 과체중, 비만으로 분류해서 알려주는 프로그램을 만드세요
Solution)
height = float(input("enter your height in m: "))
weight = float(input("enter your weight in kg: "))
BMI = round(weight / (height * height), 1)
if BMI < 18.5:
print("Your BMI is" + str(BMI) + ", you are underweight")
elif BMI < 25:
print("Your BMI is" + str(BMI) + ", you have a normal weight.")
elif BMI < 30:
print("Your BMI is" + str(BMI) + ", you are slightly overweight.")
elif BMI < 35:
print("Your BMI is" + str(BMI) + ", you are obese.")
else:
print("Your BMI is" + str(BMI) + ", you are clinically obese.")
먼저 저번과 똑같이 BMI를 계산해주는 수식을 만들어 변수에 저장해줍니다.
저장된 변수의 값에 따라 조건문을 이용해 체중수준을 알려줍니다.
처음은 if문을 이용해 BMI가 18.5미만이면 저체중이라고 출력합니다.
다음은 elif문을 이용해 위 if문의 조건이 거짓일때 다음 elif문을 실행합니다.
위와같은 방식으로 조건을 설정하여 마지막에는 위 조건들이 다 거짓일 경우 비만이라고 출력합니다.
1-2 실습예제
Exercise)
year = int(input("Which year do you want to check? "))
위의 코드는 수정하지 않고 코드를 추가하여 년도를 입력받으면 해당 년도가 윤년인지 알려주는 프로그램을 만드세요
* 윤년 계산법은 다음과 같습니다.
1. 해당 년도를 4로 나누어떨어질때 즉 나머지가 0이여야 하고
2. 해당 년도를 100으로 나누었을때 나머지가 0이 아니면 윤년입니다. 하지만 나머지가 0이여도 윤년인 다른 조건이 있습니다.
3. 해당 년도를 100으로 나누었을 때 나머지가 0이 아니여도 400으로 나누었을 때 나머지가 0이면 윤년입니다.
Solution)
year = int(input("Which year do you want to check? "))
if year % 4 == 0:
if year % 100 != 0:
print("Leap year")
elif year % 400 == 0:
print("Leap year")
else:
print("Not leap year")
else:
print("Not leap year")
처음은 if문으로 4로 나누었을 때 나머지가 0인지 확인하는 조건문을 만듭니다.
참일경우 아래 if문으로 내려가 100으로 나누었을 때 나머지가 0이 아닌지 확인하는 조건문을 만듭니다.
위 두조건이 모두 참일 경우 윤년이라는 출력문이 출력됩니다.
만약 100으로 나누었을 때 나머지가 0이면 거짓이므로 다음 elif문으로 넘어갑니다.
400으로 나누었을 때 나머지가 0인지 확인하는 조건문을 만듭니다.
위 3개의 조건은 4로 나누어지고 100으로 안나누어져도 400으로 나누어지면 윤년이라는 출력문이 출력되는 조건들이 만들어집니다.
400으로 나누었을 때 나머지가 0이 아니면 거짓이므로 밑에 else문이 실행되어 윤년이 아니라는 출력문이 출력됩니다.
마지막 else문은 처음 조건이 거짓이면 바로 맨 밑으로 내려가 윤년이 아니라는 출력문이 출력됩니다.
3. 논리 연산자
논리연산은 '둘중 하나가 참이면 참이다', '둘다 참(true) 이면 이 조건문은 참(true)이다' 처럼. 조건문이 참(True)인지 거짓(False)인지 판단하는 것을 의미합니다.
위 코드는 수정하지 않고 코드를 추가하여 조건문들을 이용해 사용자의 선택에 따라 엔딩이 달라지는 게임을 만드세요
Solution)
print('''
*******************************************************************************
| | | |
_________|________________.=""_;=.______________|_____________________|_______
| | ,-"_,="" `"=.| |
|___________________|__"=._o`"-._ `"=.______________|___________________
| `"=._o`"=._ _`"=._ |
_________|_____________________:=._o "=._."_.-="'"=.__________________|_______
| | __.--" , ; `"=._o." ,-"""-._ ". |
|___________________|_._" ,. .` ` `` , `"-._"-._ ". '__|___________________
| |o`"=._` , "` `; .". , "-._"-._; ; |
_________|___________| ;`-.o`"=._; ." ` '`."\` . "-._ /_______________|_______
| | |o; `"-.o`"=._`` '` " ,__.--o; |
|___________________|_| ; (#) `-.o `"=.`_.--"_o.-; ;___|___________________
____/______/______/___|o;._ " `".o|o_.--" ;o;____/______/______/____
/______/______/______/_"=._o--._ ; | ; ; ;/______/______/______/_
____/______/______/______/__"=._o--._ ;o|o; _._;o;____/______/______/____
/______/______/______/______/____"=._o._; | ;_.--"o.--"_/______/______/______/_
____/______/______/______/______/_____"=.o|o_.--""___/______/______/______/____
/______/______/______/______/______/______/______/______/______/______/_____ /
*******************************************************************************
''')
print("Welcome to Treasure Island.")
print("Your mission is to find the treasure.")
direction = input("Where do you want to go? Type 'left' or 'right'\n")
if direction == "left":
print("You eaten by a dragon. Game Over")
elif direction == "right":
act = input(
"You've come to a lake. There is an island in the middle of the lake. Type 'wait' to wait for a boat. Type 'swim' to swim across.\n"
)
if act == "wait":
print("You starved to death")
elif act == "swim":
color = input(
"You arrive at the island unharmed. There is a house with 3 doors. One 'red', one 'yellow' and one 'blue'. Which colour do you choose?\n"
)
if color == "red":
print("You found the treasure! You Win!")
elif color == "yellow":
print("You enter a room of beasts. Game Over.")
else:
print("You get attacked by an angry trout. Game Over.")
처음은 방향을 입력받아 왼쪽 오른쪽에 따른 게임결과를 조건문으로 만듭니다.
저는 오른쪽을 선택했을 때 게임이 계속 진행되도록 만들었습니다.
다음은 강가에 도착했다며 기다릴것인지 수영할것인지 선택하라고 하는 출력문을 만듭니다.
저는 수영을 선택했을 때 게임이 계속 진행되도록 만들었습니다.
다음은 3개의 문이 있는 집에 도착하여 빨간문, 노란문, 파란문을 선택할고 하는 출력문을 만듭니다.
만약 빨간문을 선택했다면 보물을 찾았다며 당신이 이겼다는 출력문이 출력되고 게임이 종료됩니다.
Hello 문자열에서 0부터 시작하여 4번째 자리에 오는 문자가 o이기 때문에 위의 코드로 수정하면 o문자가 출력됩니다
1-2 실습예제
Exercise)
two_digit_number = input("Type a two digit number: ")
위의 코드는 수정하지 않고 코드를 추가하여 입력받은 두 정수를 더한 값이 출력되게 코드를 작성하세요
Solution)
two_digit_number = input("Type a two digit number: ")
first_digit_number = two_digit_number[0]
second_digit_number = two_digit_number[1]
result = int(first_digit_number) + int(second_digit_number)
print(result)
먼저 입력받은 두 수를 리스트를 사용해 각각 변수에 담아둡니다
현재까지 입력받은 두 수는 정수가 아닌 문자열(str)이므로 형변환을 통해 정수로 바꿔주고 연산을 합니다
연산한 값을 담은 변수를 출력합니다
2. 수학 연산
덧셈(+) / 뺄셈(-)
곱셈(*) / 나눗셈(/)
거듭제곱(**)
몫(//)
나머지(%)
1) 연산자의 연산 순서
파이썬에서 수학 연산을할 때 연산순서는 다음과 같다
괄호() -> **(거듭제곱) -> 곱셈(*), 나눗셈(/) -> 덧셈(+), 뺄셈(-)
1-1 실습예제
Exercise)
height = input("enter your height in m: ")
weight = input("enter your weight in kg: ")
위의 코드는 수정하지 않고 코드를 추가하여 BMI 계산을 해주는 프로그램 코드를 작성하세요(단, 키는 cm가 아닌 m단위로 입력 받으세요)
* BMI 계산 공식: 몸무게 / 키 * 키
Solution)
height = input("enter your height in m: ")
weight = input("enter your weight in kg: ")
new_height = float(height)
new_weight = float(weight)
bmi = new_weight / new_height**2
print(int(bmi))
키는 cm가 아닌 m단위로 입력받아야 하기때문에 정수형이 아닌 실수형으로 형변환을 해야합니다
몸무게도 소수점자리까지 생각해서 실수형으로 형변환을 해줍니다
BMI를 계산하는 수식을 만들어 변수에 담아줍니다
수식은 위 공식을 참고하여 만들면 됩니다
BMI값을 보기좋게 정수형으로 소수점을 짤라내고 출력합니다
3. F-String
f-string은 문자열 포맷팅으로 문자열안에 변수를 넣어 출력하게 해줍니다
f-string이 편한 이유는 원래 기본 출력문안에서 문자형이 아닌 변수를 넣으려면 str(변수) 이런식으로 하나하나 묶어서 넣어줘야 하지만 f-string은 그런거 없이 {변수}만 넣으면 출력이 가능하기 때문이다
1) 실습예제
Exercise)
age = input("What is your current age?")
위의 코드는 수정하지 않고 코드를 추가하여 입력받은 나이에서 90살까지 산다고 했을 때 몇일, 몇주, 몇달이 남았는지 계산해주는 코드를 작성하세요
Solution)
age = input("What is your current age?")
new_age = int(age)
day = 32850 - (365 * new_age)
week = 4680 - (52 * new_age)
month = 1080 - (12 * new_age)
print(f"You have {day} days, {week} weeks, and {month} months left.")
먼저 문자형인 age를 정수형으로 형변환 해줍니다
90세까지 산다고 했을 때 일로 계산하면 32850일입니다 따라서 입력받은 나이에 365를 곱하고 32850에서 해당 일수만큼 뺀값을 변수에 저장합니다
주로 계산하면 90세까지 4680주 이므로 입력받은 나이에 52를 곱하고 4680에서 해당 주만큼 뺀값을 변수에 저장합니다
달로 계산하면 90세까지 1080달 이므로 입력받은 나이에 12를 곱하고 1080에서 해당 달만큼 뺀값을 변수에 저장합니다
f-string을 사용해 아까 각 값들을 담아둔 변수들을 출력문에 삽입하여 출력합니다
4. 팁 계산기
최종적으로 팁계산기라는 프로그램을 만들어보겠습니다
이 프로그램은 총 지불해야하는 금액과 내고싶은 팁의 퍼센트, 총 금액을 같이 내야하는 인원 수를 입력받습니다
입력받은 팁까지 포함한 총 금액을 인원수만큼 더치페이하여 각자 내야하는 금액을 소수점2자리까지만 반올림하여 출력하세요
ex) 지불해야하는 총 금액 = 150.00
지불하고싶은 팁의 퍼센트 = 12
같이 지불해야하는 인원 수 = 7
(150 * (12 / 100) + 150) / 7
Solution)
print("Welcome to the tip calculator")
bill = input("What was the total bill? ")
tip = input("How much tip would you like to give? ")
person = input("How many people to split the bill? ")
new_bill = float(bill)
new_tip = float(tip)
new_person = int(person)
total = (new_bill * (new_tip / 100) + 150) / new_person
print(round(total, 2))
파이썬 GUI 프로그래밍이 아닐 경우 print()출력을 사용하며 디버깅을 위한 오류출력에도 자주 사용됩니다.
1) 문자열 출력
문자열을 출력할 시 괄호 안에 ""(큰따옴표), ''(작은따옴표)를 넣고 그 안에 문자를 입력합니다.
ex) print("Hello World")
print('Hello World')
작은따옴표 안에 큰따옴표를 넣어서 단어나 문구를 강조할 수 있습니다.
반대로 큰따옴표 안에 작은따옴표를 넣어서 단어나 문구를 강조할 수 있습니다.
ex) print("My 'age' is 28")
print('My "age" is 28')
출력문 안에 \n을 삽입하여 줄바꿈을 할 수 있습니다.
ex) print("Hello World\nHello")
* 위 코드를 입력하여 출력하면 다음과 같은 결과가 화면에 출력됩니다.
> Hello World
Hello
문자열들을 + 기호를 이용해 문자열을 합칠 수 있습니다.
ex) print("Hello" + "red")
> Hellored
문자열 사이에 공백을 추가하여 공백까지 출력 할 수 있습니다.
ex) print("Hello" + " " + "red")
> Hello red
1-1 실습예제
Exercise)
print(Day 1 - String Manipulation")
print("String Concatenation is done with the "+" sign.")
print('e.g. print("Hello " + "world")')
print(("New lines can be created with a backslash and n.")
위 예제들을 바탕으로 다음과 같은 문장이 출력되도록 하는 코드를 작성해 보겠습니다.
Day 1 - String Manipulation
String Concatenation is done with the "+" sign.
e.g. print("Hello " + "world")
New lines can be created with a backslash and n.
Solution)
print("Day 1 - String Manipulation")
print('String Concatenation is done with the "+" sign.')
print('e.g. print("Hello " + "world")')
print("New lines can be created with a backslash and n.")
1번 문장은 문장이 시작되는 Day 1 앞부분에 ""(큰따옴표)가 빠져있으므로 추가하여 수정합니다.
2번 문장은 중간쯤에 "+"가 있는데 이 부분도 문자열로 출력되게 해야합니다. 따라서 전체 문장을 감싸는 ""(큰따옴표)를 사용하게 되면 ""(큰따옴표가) 2번 나오게 되서 문법오류가 발생하게 됩니다.
이 문제를 해결하기 위해서 전체 문장을 ''(작은따옴표)로 감싸면 "+"이 부분까지 문자열로 출력됩니다.
3번 문장은 들여쓰기가 되어있어서 문법적인 오류가 발생합니다 파이썬에서는 들여쓰기를 잘못해도 오류가 발생합니다. 따라서 들여쓰기를 제거하여 코드를 수정합니다.
4번 문장은 print()함수에 괄호가 하나 더 있으므로 오류가 발생합니다. 괄호를 하나 지워서 코드를 수정합니다.
2. 입력함수
입력함수는 input()함수를 사용하여 사용자로부터 입력을 받는 함수입니다.
input()함수가 호출되면 명령 프롬프트로부터 사용자의 입력을 받을 수 있습니다.
input()함수의 반환으로 사용자가 입력한 것을 "문자열" 타입으로 반환하게 됩니다.
입력은 엔터가 입력될 때까지 타이핑한 문자를 모두 받는다.
1) 실습예제
Exercise)
사용자의 이름을 입력받아 이름의 철자 개수를 출력하는 코드를 만드세요.
ex) red
> 3
Solution)
print(len(input("Waht is your name?")))
먼저 input()함수로 사용자의 이름을 입력받고 len()함수로 이름의 철자 개수를 출력하게 합니다
* len()함수는 문자열의 길이를 알려주는 함수입니다.
3. 변수
변수란 '변할 수 있는것'으로 어떠한 값을 담는 '상자'라고 생각하면 됩니다.
예를 들어 a=10이라고 하는것은 10을 a라고 하는 상자에 담아줘 라는 의미입니다.
1) 변수 이름
변수를 선언할때 변수의 이름은 마음대로 지어도 되지만 몇 가지 지켜야할 규칙이 있다.
_혹은 영문자로 시작해야 합니다.
숫자로 시작할수 없습니다.
특수문자(+,-,%,^)는 사용할 수 없습니다.
변수 이름에 공백이 있으면 안됩니다.
파이썬의 예약어(for,while,if등)는 사용할 수 없습니다.
2) 실습예제
Exercise)
a = input("a: ")
b = input("b: ")
print("a: " + a)
print("b: " + b)
위 코드는 수정하지 않고 중간 공백에 코드를 추가하여 a는b값, b는a값으로 출력되게 만드세요.
Solution)
a = input("a: ")
b = input("b: ")
c = b
b = a
a = c
print("a: " + a)
print("b: " + b)
이 문제는 약간의 창의적인 생각 필요합니다.
먼저 c라는 변수를 만들어 b값을 미리 c에 담아둡니다.
그 다음 b에는 a값을 담고, a에는 아까 미리 담아두었던 c값을 담습니다.
이렇게 하는 이유는 b=a, a=b로 코드를 짤 경우로 예를 들겠습니다.
만약 a값을 3으로 입력받고 하고 b를 5로 입력받았다 하면
b=3
a=b(b의 값을 5로 입력받았지만 위 코드가 실행되면서 b라는 변수에는 3이라는 값으로 바뀌게 됩니다)
따라서
b=3
a=3
이런 결과가 출력되기 때문에 c라는 변수를 새롭게 만들어 미리 입력받은 b의 값을 담아두는것입니다.
그렇게 되면 입력값이 a=3 b=5일때
c=5
b=3
a=5
이런 과정을 거치게 되어 결과적으로 출력될때 a와b의 값이 바뀌어서 출력되게 됩니다.
3. 밴드명 생성하기
이번에는 사용자의 정보들을 입력받아서 입력값으로 밴드명을 정해주는 프로그램을 만들어 보겠습니다.
1) 실습 예제
Exercise)
#1. Create a greeting for your program.
#2. Ask the user for the city that they grew up in.
#3. Ask the user for the name of a pet.
#4. Combine the name of their city and pet and show them their band name.
#5. Make sure the input cursor shows on a new line:
1번 라인에는 프로그램의 소개를 출력합니다.
2번 라인은 사용자의 자란 도시를 입력받게 합니다.
3번 라인은 사용자의 애완동물 이름을 입력받습니다.
4번 라인은 입력받은 도시와 애완동물 이름을 조합하여 밴드 이름을 출력합니다.
단 조건으로 입력받을때 커서가 문장옆이 아닌 바로 아래줄에서 깜빡거리도록 합니다.
Solution)
print("Welcome to the band name generator")
city = input("Where is your grew up in city?\n")
pet = input("What is your pet name?\n")
print("Your band name is " + city + " " + pet)
1번 라인은 프로그램 소개문장을 print()함수로 출력합니다.
2번 라인은 city라는 변수를 선언하고 input()함수로 사용자의 자란 도시를 입력받습니다. 단 문장 옆이 아닌 아래에서 입력받아야 되므로 \n을 삽입하여 개행까지 합니다.
3번 라인은 2번 라인과 비슷하게 pet이라는 변수를 선언하고 input()함수로 애완동물의 이름을 입력받습니다. 마찬가지로 \n을 삽입하여 개행도 해줍니다.
마지막으로 입력받은 city, pet 변수를 이용해 조합하여 밴드 이름을 만들어주면 완성입니다.