‘input()‘ 함수는 사용자로부터 키보드로 입력을 받는 파이썬 함수입니다. 사용자가 입력한 값을 문자열로 반환합니다.
0.
이 예제는 ‘input()’ 함수를 사용하여 사용자로부터 이름을 입력 받고, 그 이름을 환영하는 메시지를 출력하는 프로그램입니다.
# 사용자로부터 이름 입력받기
name = input("이름을 입력하세요: ")
# 환영 메시지 출력
print("안녕하세요, " + name + "님!")
위의 코드를 실행하면 프로그램은 사용자에게 “이름을 입력하세요:”라는 메시지를 표시하고, 사용자가 이름을 입력하면 해당 이름을 사용하여 “안녕하세요, [입력한 이름]님!” 메시지를 출력합니다.
예제를 실행하면 ‘input()’ 함수를 사용하는 방법과 사용자 입력을 변수에 저장하는 방법을 이해할 수 있습니다.
1. 제곱
사용자로부터 숫자를 입력받아 그 숫자를 제곱하여 출력하는 프로그램을 작성하세요.
# 사용자로부터 숫자 입력받기
num = float(input("숫자를 입력하세요: "))
# 입력받은 숫자를 제곱하여 출력
result = num ** 2
print(f"{num}의 제곱은 {result}입니다.")
2. 더하기
사용자로부터 두 개의 숫자를 입력받아 더한 결과를 출력하는 프로그램을 작성하세요.
# 사용자로부터 두 개의 숫자 입력받기
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))
# 두 숫자를 더하여 출력
result = num1 + num2
print(f"{num1}와 {num2}를 더한 결과는 {result}입니다.")
3. 대문자로 변환
사용자로부터 문자열을 입력받아 해당 문자열을 대문자로 변환하여 출력하는 프로그램을 작성하세요.
# 사용자로부터 문자열 입력받기
text = input("문자열을 입력하세요: ")
# 입력받은 문자열을 대문자로 변환하여 출력
uppercase_text = text.upper()
print(f"대문자로 변환한 문자열: {uppercase_text}")
4. 단어의 개수
사용자로부터 여러 단어로 이루어진 문장을 입력받아 단어의 개수를 출력하는 프로그램을 작성하세요.
# 사용자로부터 문장 입력받기
sentence = input("문장을 입력하세요: ")
# 입력받은 문장을 공백을 기준으로 분리하여 단어의 개수 출력
words = sentence.split()
word_count = len(words)
print(f"입력한 문장에는 총 {word_count}개의 단어가 포함되어 있습니다.")
5. 화씨 온도로 변환
사용자로부터 섭씨 온도를 입력받아 이를 화씨 온도로 변환하여 출력하는 프로그램을 작성하세요.
# 사용자로부터 섭씨 온도 입력받기
celsius = float(input("섭씨 온도를 입력하세요: "))
# 섭씨를 화씨로 변환하여 출력
fahrenheit = (celsius * 9/5) + 32
print(f"화씨 온도: {fahrenheit}도")
6. 짝수인지 홀수인지 판별
사용자로부터 정수를 입력받아 해당 정수가 짝수인지 홀수인지 판별하는 프로그램을 작성하세요.
# 사용자로부터 정수 입력받기
number = int(input("정수를 입력하세요: "))
# 짝수인지 홀수인지 판별하여 출력
if number % 2 == 0:
print(f"{number}은(는) 짝수입니다.")
else:
print(f"{number}은(는) 홀수입니다.")
7. 평균 계산
사용자로부터 여러 개의 숫자를 입력받아 그 숫자들의 평균을 계산하여 출력하는 프로그램을 작성하세요.
# 사용자로부터 숫자들 입력받기
numbers = input("숫자들을 공백으로 구분하여 입력하세요: ")
# 입력받은 숫자들을 리스트로 변환
numbers_list = [float(num) for num in numbers.split()]
# 숫자들의 평균 계산하여 출력
average = sum(numbers_list) / len(numbers_list)
print(f"입력한 숫자들의 평균: {average}")
8. 간단한 로그인
사용자로부터 비밀번호를 입력받아 미리 지정된 비밀번호와 일치하는지 여부를 검사하는 간단한 로그인 시스템을 구현하세요.
# 미리 지정된 비밀번호 설정
correct_password = "파이썬123"
# 사용자로부터 비밀번호 입력받기
password = input("비밀번호를 입력하세요: ")
# 비밀번호 검사하여 로그인 여부 출력
if password == correct_password:
print("로그인 성공!")
else:
print("비밀번호가 일치하지 않습니다. 다시 시도하세요.")
9. 소수인지 판별
사용자로부터 정수를 입력받아 해당 숫자가 소수인지 판별하는 프로그램을 작성하세요.
# 사용자로부터 정수 입력받기
num = int(input("정수를 입력하세요: "))
# 소수 판별 함수 정의
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
# 입력한 숫자가 소수인지 판별하여 출력
if is_prime(num):
print(f"{num}은(는) 소수입니다.")
else:
print(f"{num}은(는) 소수가 아닙니다.")
10. 회문인지 판별
사용자로부터 문자열을 입력받아 해당 문자열이 회문(앞으로 읽으나 뒤로 읽으나 동일한 문자열)인지 판별하는 프로그램을 작성하세요.
# 사용자로부터 문자열 입력받기
word = input("문자열을 입력하세요: ")
# 문자열이 회문인지 판별하여 출력
if word == word[::-1]:
print(f"{word}은(는) 회문입니다.")
else:
print(f"{word}은(는) 회문이 아닙니다.")
11. 팩토리얼 계산
사용자로부터 양수 정수를 입력받아 해당 숫자의 팩토리얼을 계산하여 출력하는 프로그램을 작성하세요.
# 사용자로부터 양수 정수 입력받기
num = int(input("양수 정수를 입력하세요: "))
# 팩토리얼 계산 함수 정의
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
# 팩토리얼 계산하여 출력
if num < 0:
print("양수를 입력하세요.")
else:
result = factorial(num)
print(f"{num}의 팩토리얼은 {result}입니다.")
12. 평균 점수와 최고 점수
사용자로부터 여러 학생의 점수를 입력받고, 평균 점수와 최고 점수를 출력하는 프로그램을 작성하세요.
# 사용자로부터 학생들의 점수 입력받기
scores = input("학생들의 점수를 공백으로 구분하여 입력하세요: ")
# 입력받은 점수들을 리스트로 변환
score_list = [float(score) for score in scores.split()]
# 평균 점수 계산
average_score = sum(score_list) / len(score_list)
# 최고 점수 계산
max_score = max(score_list)
print(f"평균 점수: {average_score}")
print(f"최고 점수: {max_score}")
13. 최댓값을 찾아서 출력
사용자로부터 임의의 개수의 숫자를 입력 받아 그 숫자들 중에서 가장 큰 값을 찾아 출력하는 프로그램을 작성하세요. 사용자는 숫자를 입력할 때 “q”를 입력하면 입력을 종료할 수 있습니다.
# 사용자로부터 숫자 입력받아 최댓값 찾기
numbers = []
while True:
user_input = input("숫자를 입력하세요 (q로 종료): ")
if user_input.lower() == 'q':
break
numbers.append(float(user_input))
if len(numbers) > 0:
max_number = max(numbers)
print(f"입력한 숫자 중 가장 큰 값은 {max_number}입니다.")
else:
print("입력한 숫자가 없습니다.")
14. 원의 넓이
사용자로부터 원의 반지름을 입력받아 원의 넓이를 계산하여 출력하는 프로그램을 작성하세요.
import math
# 사용자로부터 원의 반지름 입력받기
radius = float(input("원의 반지름을 입력하세요: "))
# 원의 넓이 계산하여 출력
area = math.pi * (radius ** 2)
print(f"원의 넓이: {area}")
15. 1부터 입력받은 숫자까지의 합
사용자로부터 정수를 입력받아 해당 숫자까지의 모든 정수의 합을 계산하여 출력하는 프로그램을 작성하세요.
# 사용자로부터 정수 입력받기
num = int(input("정수를 입력하세요: "))
# 1부터 입력받은 숫자까지의 합 계산
sum_of_numbers = sum(range(1, num + 1))
print(f"1부터 {num}까지의 합: {sum_of_numbers}")
16. 단어의 첫 글자를 대문자로 변환
사용자로부터 여러 개의 단어를 입력받아, 각 단어의 첫 글자를 대문자로 변환하여 출력하는 프로그램을 작성하세요.
# 사용자로부터 여러 개의 단어 입력받기
words = input("여러 개의 단어를 공백으로 구분하여 입력하세요: ")
# 입력받은 단어를 리스트로 변환하고 첫 글자를 대문자로 변환하여 출력
word_list = words.split()
capitalized_words = [word.capitalize() for word in word_list]
print("첫 글자를 대문자로 변환한 결과:")
for word in capitalized_words:
print(word)
17. 최고 점수를 받은 학생의 이름 출력
사용자로부터 여러 학생의 이름과 점수를 입력받아, 최고 점수를 받은 학생의 이름을 출력하는 프로그램을 작성하세요.
# 학생 이름과 점수를 저장할 딕셔너리 초기화
student_scores = {}
# 사용자로부터 학생 정보 입력받기
while True:
student_name = input("학생 이름을 입력하세요 (q로 종료): ")
if student_name.lower() == 'q':
break
student_score = float(input(f"{student_name}의 점수를 입력하세요: "))
student_scores[student_name] = student_score
# 최고 점수를 받은 학생 찾기
if student_scores:
best_student = max(student_scores, key=student_scores.get)
best_score = student_scores[best_student]
print(f"최고 점수를 받은 학생: {best_student} (점수: {best_score})")
else:
print("학생 정보가 없습니다.")
18. 금액을 화폐 단위로 나눈 횟수 계산
사용자로부터 금액과 화폐 단위를 입력받아, 해당 금액을 화폐 단위로 얼마나 나눌 수 있는지 출력하는 프로그램을 작성하세요.
# 사용자로부터 금액과 화폐 단위 입력받기
amount = float(input("금액을 입력하세요: "))
currency_unit = float(input("화폐 단위를 입력하세요: "))
# 금액을 화폐 단위로 나눈 횟수 계산
num_of_units = amount / currency_unit
print(f"{amount}원은 {currency_unit}원 단위로 {num_of_units}번 나눌 수 있습니다.")
19. 두 문자열을 합쳐서 출력
사용자로부터 두 개의 문자열을 입력받아, 두 문자열을 합쳐서 출력하는 프로그램을 작성하세요.
# 사용자로부터 두 개의 문자열 입력받기
string1 = input("첫 번째 문자열을 입력하세요: ")
string2 = input("두 번째 문자열을 입력하세요: ")
# 두 문자열을 합쳐서 출력
combined_string = string1 + string2
print(f"두 문자열을 합친 결과: {combined_string}")
20. 최솟값을 찾아서 출력
사용자로부터 여러 개의 숫자를 입력받아, 이 숫자들 중에서 최솟값을 찾아 출력하는 프로그램을 작성하세요.
# 사용자로부터 숫자들 입력받아 리스트로 변환
numbers = input("여러 개의 숫자를 공백으로 구분하여 입력하세요: ")
number_list = [float(num) for num in numbers.split()]
# 최솟값 찾아서 출력
if number_list:
min_number = min(number_list)
print(f"입력한 숫자 중 최솟값은 {min_number}입니다.")
else:
print("숫자를 입력하지 않았습니다.")
21. 특정한 값과 일치하는 숫자의 개수
사용자로부터 여러 개의 숫자를 입력받아, 이 숫자들 중에서 특정한 값과 일치하는 숫자의 개수를 출력하는 프로그램을 작성하세요.
# 사용자로부터 숫자들 입력받아 리스트로 변환
numbers = input("여러 개의 숫자를 공백으로 구분하여 입력하세요: ")
number_list = [float(num) for num in numbers.split()]
# 일치하는 값 찾기
target_value = float(input("찾고자 하는 값을 입력하세요: "))
count = number_list.count(target_value)
print(f"입력한 숫자 중 {target_value}와(과) 일치하는 숫자의 개수: {count}")
22. 숫자들을 크기 순으로 정렬
사용자로부터 세 개의 숫자를 입력받아, 이 숫자들을 크기 순으로 정렬하여 출력하는 프로그램을 작성하세요.
# 사용자로부터 세 개의 숫자 입력받기
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))
num3 = float(input("세 번째 숫자를 입력하세요: "))
# 숫자를 크기 순으로 정렬하여 출력
sorted_numbers = sorted([num1, num2, num3])
print("입력한 숫자를 크기 순으로 정렬:")
for num in sorted_numbers:
print(num)
23. 문장에서 가장 긴 단어를 출력
사용자로부터 여러 개의 단어로 이루어진 문장을 입력받아, 문장에서 가장 긴 단어를 출력하는 프로그램을 작성하세요.
# 사용자로부터 문장 입력받기
sentence = input("문장을 입력하세요: ")
# 문장을 단어로 분리하여 가장 긴 단어 찾기
words = sentence.split()
if words:
longest_word = max(words, key=len)
print(f"가장 긴 단어: {longest_word}")
else:
print("단어가 없습니다.")
24. 두 숫자의 합과 곱을 출력
사용자로부터 두 개의 숫자를 입력받아, 두 숫자의 합과 곱을 출력하는 프로그램을 작성하세요.
# 사용자로부터 두 개의 숫자 입력받기
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))
# 두 숫자의 합과 곱 계산하여 출력
sum_result = num1 + num2
product_result = num1 * num2
print(f"두 숫자의 합: {sum_result}")
print(f"두 숫자의 곱: {product_result}")
25. 짝수인지 홀수인지 판별, 3의 배수인지 판별
사용자로부터 숫자를 입력받아, 해당 숫자가 짝수인지 홀수인지 판별하고, 3의 배수인지도 판별하는 프로그램을 작성하세요.
# 사용자로부터 숫자 입력받기
num = int(input("정수를 입력하세요: "))
# 짝수인지 홀수인지 판별
if num % 2 == 0:
print(f"{num}은(는) 짝수입니다.")
else:
print(f"{num}은(는) 홀수입니다.")
# 3의 배수인지 판별
if num % 3 == 0:
print(f"{num}은(는) 3의 배수입니다.")
else:
print(f"{num}은(는) 3의 배수가 아닙니다.")
26. 소수인지 판별
사용자로부터 숫자를 입력받아, 해당 숫자가 소수인지 판별하는 프로그램을 작성하세요.
# 사용자로부터 숫자 입력받기
num = int(input("정수를 입력하세요: "))
# 소수 판별 함수 정의
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
# 입력한 숫자가 소수인지 판별하여 출력
if is_prime(num):
print(f"{num}은(는) 소수입니다.")
else:
print(f"{num}은(는) 소수가 아닙니다.")
27. 단어를 거꾸로 뒤집어 출력
사용자로부터 단어를 입력받아, 그 단어를 거꾸로 뒤집어 출력하는 프로그램을 작성하세요.
# 사용자로부터 단어 입력받기
word = input("단어를 입력하세요: ")
# 단어를 거꾸로 뒤집어 출력
reversed_word = word[::-1]
print(f"뒤집은 단어: {reversed_word}")
28. 원의 둘레와 넓이를 계산
사용자로부터 원의 반지름을 입력받아, 원의 둘레와 넓이를 계산하여 출력하는 프로그램을 작성하세요.
import math
# 사용자로부터 원의 반지름 입력받기
radius = float(input("원의 반지름을 입력하세요: "))
# 원의 둘레와 넓이 계산하여 출력
circumference = 2 * math.pi * radius
area = math.pi * (radius ** 2)
print(f"원의 둘레: {circumference}")
print(f"원의 넓이: {area}")
29. 대문자인지 소문자인지 판별
사용자로부터 알파벳 문자를 입력받아, 해당 문자가 대문자인지 소문자인지 판별하는 프로그램을 작성하세요.
# 사용자로부터 문자 입력받기
char = input("알파벳 문자를 입력하세요: ")
# 문자가 대문자인지 소문자인지 판별하여 출력
if char.isupper():
print(f"{char}은(는) 대문자입니다.")
elif char.islower():
print(f"{char}은(는) 소문자입니다.")
else:
print(f"{char}은(는) 알파벳 문자가 아닙니다.")
30. 피보나치 수열의 원소인지 판별
사용자로부터 숫자를 입력받아, 입력된 숫자가 피보나치 수열의 원소인지 판별하는 프로그램을 작성하세요.
# 사용자로부터 숫자 입력받기
num = int(input("정수를 입력하세요: "))
# 피보나치 수열 원소 판별 함수 정의
def is_fibonacci(n):
a, b = 0, 1
while a < n:
a, b = b, a + b
return a == n
# 입력한 숫자가 피보나치 수열의 원소인지 판별하여 출력
if is_fibonacci(num):
print(f"{num}은(는) 피보나치 수열의 원소입니다.")
else:
print(f"{num}은(는) 피보나치 수열의 원소가 아닙니다.")
31. 세 숫자 중에서 중간값을 출력
사용자로부터 세 개의 정수를 입력받아, 이 세 숫자 중에서 중간값을 출력하는 프로그램을 작성하세요.
# 사용자로부터 세 개의 숫자 입력받기
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))
num3 = float(input("세 번째 숫자를 입력하세요: "))
# 중간값 계산하여 출력
median = sorted([num1, num2, num3])[1]
print(f"세 숫자 중 중간값: {median}")
32. 가장 큰 숫자와 가장 작은 숫자를 출력
사용자로부터 여러 개의 숫자를 입력받아, 입력된 숫자 중에서 가장 큰 숫자와 가장 작은 숫자를 출력하는 프로그램을 작성하세요.
# 사용자로부터 숫자 입력받아 리스트로 변환
numbers = input("여러 개의 숫자를 공백으로 구분하여 입력하세요: ")
number_list = [float(num) for num in numbers.split()]
# 가장 큰 숫자와 가장 작은 숫자 찾아서 출력
if number_list:
max_number = max(number_list)
min_number = min(number_list)
print(f"입력한 숫자 중 가장 큰 숫자: {max_number}")
print(f"입력한 숫자 중 가장 작은 숫자: {min_number}")
else:
print("숫자를 입력하지 않았습니다.")
33. 윤년인지 아닌지 판별
사용자로부터 년도를 입력받아, 해당 년도가 윤년인지 아닌지 판별하는 프로그램을 작성하세요.
# 사용자로부터 년도 입력받기
year = int(input("년도를 입력하세요: "))
# 윤년 판별 조건
is_leap_year = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
# 판별 결과 출력
if is_leap_year:
print(f"{year}년은 윤년입니다.")
else:
print(f"{year}년은 윤년이 아닙니다.")
(이하 생략)