728x90
반응형
여러줄 주석, 한줄 주석
한줄 내용 출력하기, 여러개의 내용 출력하기
\n, \t ...
''', """ 문자열
한칸에 출력하기
문자열 범위지정
문자열의 길이
자료형
연산자, 대입연산자
형변환 함수
형식문자
조건문 (if, elif, else)
반복문 (for, whilt, break, continue)
난수 생성하기 (random)
삼각형 출력하기 (직각, 역직각)
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
print.py
"""
'''
파이썬의 여러줄 주석
'''
"""
파이썬의 여러줄 주석
파이썬에서는 문자열 표시에 큰따옴표, 작은따옴표가 같다.
주석표현도 큰따옴표, 작은따욤표가 같다.
여러줄 주석은 나중에 문자열표현에서 사용됨.
"""
# 한줄 주석
# 한줄내용 출력하기
print("한줄 출력하기")
#여러개의 데이터 출력하기
print(10,20,30,40,50)
print("abc" * 3)
#print("학번:" + 100) #문자열+int 형이 안됨. 오류 발생.
print("학번:" , 100) #문자열+int
print("학번:" + "100") #문자열+문자열
print("'안녕하세요' 라고 말했습니다.") #문자열을 큰따옴표로 처리한 경우 작은따옴표로 인용부호가 가능함.
print('"안녕하세요" 라고 말했습니다.') #문자열을 작은따옴표로 처리한 경우 큰따옴표로 인용부호가 가능함.
#print(""안녕하세요" 라고 말했습니다.") #문자열을 큰따옴표로 처리한 경우 큰따옴표로 인용부호가 불가능함.
print("\"안녕하세요\" 라고 말했습니다.") #문자열을 큰따옴표로 처리한 경우 큰따옴표로 인용부호처리시 특수문자로 처리함.
# \n : new line 출력하기
print("동해물과 백두산이 마르고 닳도록 \n하느님이 보우하사 우리나라 만세")
# ''' 문자열 : 여러줄에 문자열 표시
print("""동해물과 백두산이 마르고 닳도록
하느님이 보우하사 우리나라 만세
무궁화 삼천리 화려강산
대한사람 대한으로 우리나라 만세""")
print('''동해물과 백두산이 마르고 닳도록
하느님이 보우하사 우리나라 만세
무궁화 삼천리 화려강산
대한사람 대한으로 우리나라 만세''')
# 한칸에 출력하기
# 10 20 30 출력하기
# print(값, end='\n') : 기본형식. end 속성값을 변경하여 가로 출력가능
print(10, end="\t")
print(20, end=" ")
print(30)
# 문자열 : 문자들의 모임. 문자 여러개. 문자의 배열로 인식
print("안녕하세요"[0]) #안
print("안녕하세요"[2]) #하
# 문자열 범위 지정 : 문자열[시작인덱스:종료인덱스]
# 시작인덱스부터 종료인덱스 앞까지. 종료인덱스는 포함 안됨.
# [0:2] : 0번인덱스부터 1번인덱스까지.
# [0:5:2] : 0번인덱스부터 4번인덱스까지 2씩 증감.
# [2:] : 2번인덱스 이후
# [:2] : 2번인덱스 이전
# [::2] : 처음부터 끝까지 2씩 증감.
print("안녕하세요"[0:2]) #안녕
print("안녕하세요"[2:4]) #하세
print("안녕하세요"[0:5:2]) #안하요
print("안녕하세요"[2:]) #하세요
print("안녕하세요"[:2]) #안녕
print("안녕하세요"[::2]) #안하요
# 문자열의 길이 : len(값)
print(len("안녕하세요"))
############################## 자료형 : 변수 사용시 선언안해도 됨.
# 변수에 값이 저장될 때 자료형이 결정됨.
n = 10
print(n)
print(type(n))
n = 10.5
print(type(n))
n = "안녕하세요"
print(type(n))
############################## 연산자
# 산술연산자 : +,-,*,/,//,%
print(5+7) #12
print(5-7) #-2
print(5*7) #35
print(7/5) #1.4
print(7//5) #1 결과가 정수로 출력
print(7%5) #2
print(5**3) #5*5*5 = 125
# 문제 : 3741초가 몇시간 몇분 몇초인지 출력
print(3741//3600,'시간', (3741%3600)//60, '분', (3741%3600)%60, '초')
# 키보드에서 초를 입력받아 시분초 출력하기
# input 함수 : 키보드 입력받기. 문자열 형태로 입력받는다
# int 함수 : 문자열을 정수형으로 변경 함수
second = int(input("초를 입력하세요 : "))
second = 3850
print(second//3600,'시간', (second%3600)//60, '분', (second%3600)%60, '초')
# 대입연산자 : =, +=, -=, ...
a = 10
a = a + 10
a += 10
# 문자열에 사용가능한 대입연산자 : =, +=, *=
s = "abcde"
s += 'b'
s *= 3
# 자연수값을 받아 입력받은 값에 +100 값을 화면에 출력하기
num = int(input("자연수를 입력하세요 : "))
num += 100
print(num)
# 형변환 함수
#int() : 정수형 변환
#float() : 실수형 변환
#str() : 문자열형 변환
print("num+100=" , num) #200
print("num+100=" + str(num)) #200
print("num+100=" , float(num)) #200.0
#2, 8, 16진수를 10진수로 변형
# print(int("11", 2)) : 11이라는 문자열을 2진수로 인식하여 정수형으로 변형
print(int("11", 2)) #3
# print(int("11", 2)) : 11이라는 문자열을 8진수로 인식하여 정수형으로 변형
print(int("11", 8)) #9
# print(int("11", 2)) : 11이라는 문자열을 16진수로 인식하여 정수형으로 변형
print(int("11", 16)) #17
#10진수를 2, 8, 16진수로 변형
print(10, "을 2진수로 표현", bin(10))
print(10, "을 8진수로 표현", oct(10))
print(10, "을 16진수로 표현", hex(10))
#format 함수 이용하기
# {0:d} : format함수의 첫번째(인덱스) 값을 10진수로 출력
# {1:5d} : format함수의 두번째(인덱스) 값을 10진수로 5자리 확보하여 출력
# {1:5d} : format함수의 세번째(인덱스) 값을 10진수로 5자리 확보하여 출력
print("{0:d}{1:5d}{2:5d}".format(100, 200, 300)) #100 200 300
print("{1:d}{2:5d}{0:5d}".format(100, 200, 300)) #200 300 100
#형식문자를 이용하기 : %d, %f ...
print("%d * %d = %d" % (2,3,6)) #2 * 3 = 6
print("%f * %f = %f" % (2,3,6)) #2.000000 * 3.000000 = 6.000000
print("%.2f * %.2f = %.2f" % (2,3,6)) #2.00 * 3.00 = 6.00
print("%s %s" % ("홍길동", "김삿갓")) #홍길동 김삿갓
print("%X" % (255)) #FF
print("%x" % (255)) #ff
#문제 : 안녕! 홍길동 출력하기.
print("안녕")
print("홍길동")
#답 : end 출력시 마지막 문자 설정. 기본값 : \n
print("안녕", end="! ")
print("홍길동")
############################## 조건문 : if문
score = 55
if score >= 90 :
print("A학점")
else :
if score >= 80 :
print("B학점")
else :
if score >= 70 :
print("C학점")
else :
if score >= 60 :
print("D학점")
else :
print("E학점")
# if elif 구문
if score >= 90 :
print("A학점")
print("참 잘했습니다.")
elif score >= 80 :
print("B학점")
print("잘했습니다.")
elif score >= 70 :
print("C학점")
print("보통입니다.")
elif score >= 60 :
print("D학점")
print("노력이 필요합니다.")
else :
print("E학점")
print("재수강 대상입니다.")
# 점수가 60점이상이면 PASS 60점미만이면 FAIL출력하기
if score >=60 :
print("PASS")
else :
print("FAIL")
# 간단한 조건식
# TRUE if 조건식 else FALSE
print(score, '점수는', 'PASS' if score >=60 else 'FAIL')
############################## 반복문 : for, while
num = 100
sum = 0
# range(시작값, 종료값, 증감값) : 시작값부터 종료값 앞까지 증감값만큼 증감하기
# i : 1 ~ num까지의 1씩 증가된 숫자들.
for i in range(1, num+1) :
sum += i #반복문 안
print("1부터 %d까지의 합: %d" % (num, sum)) #반복문 바깥
# 문제 : 1부터 100까지의 짝수 합 구하기
sum = 0
for i in range(1, num+1) :
if(i % 2 == 0) :
sum += i
print("1부터 %d까지의 짝수의 합: %d" % (num, sum))
sum = 0
for i in range(2, num+1, 2) :
sum += i
print("1부터 %d까지의 짝수의 합: %d" % (num, sum))
# 문제 : 1부터 5까지의 숫자 출력하기 (ex:12345)
print(12345)
for i in range(1, 6) :
print(i, end=" ")
#while 구문 : 1부터 5까지의 숫자 출력하기
#while 조건문 : => 조건문의 결과가 참(TRUE)인동안 반복함
num = 1
while num <= 5 :
print(num, end=" ")
num += 1
#break : 반복문 밖으로 제어 이동
#continue : 반복문의 처음으로 제어 이동
sum = 0
for i in range(1, 11) :
if i==5 :
break
sum += i
print("sum=", sum)
sum = 0
for i in range(1, 11) :
if i==5 :
continue
sum += i
print("sum=", sum)
# 난수 생성하기
import random #모듈 이용
rnum = random.randrange(1, 100) # 1 ~ 99사이의 임의의 수를 리턴
print(rnum)
# 문제 : 1부터 45사이의 숫자 6개 출력하기
for i in range(1, 7) :
print(random.randrange(1, 46), end=",")
'''
컴퓨터가 1부터 99사이의 임의의 수를 저장하고, 숫자를 입력받아서 컴퓨터가 저장한 수를 맞추기.
컴퓨터는 입력한 숫자가 정답과 비교하여 큰수,작은수 인지 출력.
정답 입력시 입력한 횟수를 출력하기.
1. 난수 생성
2. 정답을 맞추는 동안 계속 입력 받기. => while True :
'''
import random #모듈 이용
rnum = random.randrange(1, 100) # 1 ~ 99사이의 임의의 수를 리턴
cnt = 0
while True : #무한반복. 반복문 내부에 break로 반복문 밖으로 제어 이동
a = int(input("숫자를 입력하세요. : "))
cnt += 1
if a > rnum :
print(a, "보다 작은 수 입니다.")
elif a < rnum :
print(a, "보다 큰 수 입니다.")
else :
print("정답입니다.")
print("%d번만에 정답을 맞췄습니다." % cnt)
break
# 중첩반복문 : 반복문 내부에 반복문이 존재
i, j = 0, 0 # i=0; j=0
for i in range(2, 10) : # i : 2 ~ 9 사이의 값
print("%5d단" % i)
for j in range(2, 10) : # j : 2 ~ 9 사이의 값
print("%2d X %2d = %3d" % (i, j, (i * j)))
print()
'''
1. 직각 삼각형 출력하기
*
**
***
****
*****
'''
h = 5
i = 0
for i in range(1, h+1) :
print("*" * i)
for i in range(1, h+1) :
for j in range(1, i+1) :
print("*", end="")
print()
'''
2. 역직각 삼각형 출력하기
*****
****
***
**
*
'''
h = 5
i = 0
for i in range(h, 0, -1) :
print("*" * i)
'''
3. 역직각 삼각형 출력하기
***** 공백 : 5-5 *:5
**** 공백 : 5-4 *:4
*** 공백 : 5-3 *:3
** 공백 : 5-2 *:2
* 공백 : 5-1 *:1
'''
for i in range(h, 0, -1) :
print(" " * (h-i), end="")
print("*" * i)
'''
4. 직각 삼각형 출력하기
* 공백 : 5-1 *:1
** 공백 : 5-1 *:2
*** 공백 : 5-2 *:3
**** 공백 : 5-3 *:4
***** 공백 : 5-4 *:5
'''
for i in range(1, h+1) :
print(" " * (h-i), end="")
print("*" * i)
728x90
반응형
'study > Python' 카테고리의 다른 글
[Python] 31. Test 답 (0) | 2022.06.14 |
---|---|
[Python] 31. Test (0) | 2022.06.14 |
[Python] 31. 문자열 함수, Collection(list, tuple, dictionary, set), comprehension (0) | 2022.06.14 |
[Python] 30. Test 답 (0) | 2022.06.14 |
[Python] 30. Test (0) | 2022.06.14 |