2020. 6. 7. 11:25ㆍPython
앞서 실습한 print("Hello?")는 파이썬의 대표적인 '출력' 명령어이다. 출력이란 컴퓨터가 계산 과정을 거쳐 얻은 결과를 사람들에게 보여 주는 것이다. 앞서 실습한 1부터 10까지 더한 숫자나 거북이 그래픽으로 그린 그림은 모두 컴퓨터의 출력이다.
이와 반대로 사람이 컴퓨터에게 정보를 전달하는 과정을 '입력'이라고 한다. 키보드를 이용하여 파이썬에게 정보를 전달하는 명령인 input을 사용해 '입력'과정을 공부할 것이다.
1. 컴퓨터의 입출력 장치
입력 -> 처리 -> 출력
입력 장치 : 키보드, 마우스, 터치스크린, 마이크, 카메라, 스캐너 등
출력 장치 : 모니터, 프린터, 스피커
2. 파이썬의 입력 처리
기본적으로
s = input("--> ") - 사용자 입력 - Enter
👉🏻 s에 사용자가 입력한 값이 할당된다.
name = input("Your name? ")
print("Hello!", name)
결과
Your name? cheongha
Hello! cheongha
💡 print("Hello!", name)에서 중간에 자동으로 blank가 들어가기 때문에 "Hello! "라고 해줄 필요 없다
3. 파이썬의 자료형
컴퓨터는 변수에 숫자만 저장하는 것이 아니라 문자열이나 그 외 다양한 정보를 변수에 저장할 수 있다.
자료형 |
영어 이름 |
파이썬 표기 |
설명 |
예 |
정수 |
integer |
int |
소수점이 없는 수 |
-2, -1, 0, 1, 2, 3 |
소수 |
Floating-point number |
float |
소수점(.)이 있는 수, 부동소수점수라고도 불린다. |
-3.5, 0.0, 1.25, 5.0 |
문자열 |
String |
str |
알파벳 혹은 다른 문자로 이루어진 문장 |
"a", "abc", "Hello?", "비", "여름" |
4. 문자열이란?
문자열은 '문자의 나열"이라는 뜻이다. 즉, 글자로 된 단어, 문구, 문장을 모두 문자열이라고 생각하면 된다.
파이썬에서 문자열을 구분할 때는 큰 따옴표("") 혹은 작은 따옴표('')를 사용한다. 둘 중 어느것을 사용해도 무방하다.
숫자 두 개를 입력받아 곱하는 프로그램 🐾
a = int(input('?'))
x = input('?')
b = int(x)
print(a*b)
결과
?3
?5
15
input 값을 3으로 입력했을 때 컴퓨터에서는 정수 3이 아닌 문자열 "3"으로 받는다. 그래서 int(x)를 해주어 문자열을 계산가능한 정수 3으로 바꾸어 주어야 한다. int("777") 을 해야 "칠칠칠"이란 문자열이 아닌 칠백칠십칠이 되는 것이다.
에러 👀
만약 정수 값이 아닌 abc또는 1.5와 값은 값들을 입력하면 에러가 발생한다. 이런 값은 정수로 변환할 수 없기 때문이다.
속으로 20초를 세어 맞히는 프로그램🐾
import time
input("엔터를 누르고 20초를 셉니다.")
start = time.time()
input("20초 후에 다시 엔터를 누릅니다.")
end = time.time()
# end 시간에서 start 시간을 빼면 실제 걸린 시간을 구할 수 있다
et = end - start
print("실제 시간 :",et, "초")
print("차이", abs(et-20), "초")
print(start)
print(end)
결과
엔터를 누르고 20초를 셉니다.
20초 후에 다시 엔터를 누릅니다.
실제 시간 : 23.42544150352478 초
차이 3.4254415035247803 초
1591496506.0478716
1591496529.473313
import time 은 파이썬의 시간과 관련되 기능을 사용하고 싶다고 말하는 것이다. 시간을 재는 기능이 time 모듈에 있으므로 미리 요청한 뒤 사용해야 한다.
start 에는 첫 번째 Enter를 누른 시점의 시간이 기록되고, end 에는 내가 20초를 센 후에 두 번째 Enter를 누른 시점의 시간이 기록된다.
abs()는 '절댓값'을 구하는 파이썬 기능이다.
모두의 파이이썬X알고리즘 참고 🙏🏻
'Python' 카테고리의 다른 글
[python] Unit 09 random 모듈로 임의의 수 뽑기 (0) | 2020.06.07 |
---|---|
[python] Unit 08 True/False 판단하기 (0) | 2020.06.07 |
[python] Unit 06 거북이 그래픽으로 그림 그리기 (0) | 2020.06.06 |
[python] Unit 05 range 명령을 사용하여 변화를 주면서 반복하기 (0) | 2020.06.06 |
[python] Unit 04 for 명령을 사용하여 똑같은 작업 반복하기 (0) | 2020.06.06 |