59doit
[Python] 반복문 loop, random, for, range 본문
반응형
Loop
numdata = []
while True :
num=int(input("숫자입력:"))
if num % 10 == 0 :
print("프로그램종료")
break
else :
print(num)
numdata.append(num)
while문을 실행시키면
Console창에 숫자입력:>? 이 뜬다
if문에 만족하는 숫자를 입력하면 break되어 실행문이 :프로그램종료" 라고 뜨면서 반복문을 중단한다.
Random ;
import random 모듈을 import 해야한다.
EX) 0~1 사이의 난수
r=random.random()
print('r=',r)
EX) 난수 0.01 미만이면 종료 후 난수 개수 출력
num=0
while True :
r=random.random()
print(random.random())
if r<0.01 :
break
else :
num+=1
print('난수갯수=', num)
이름 list
list에 전체이름, 특정이름 출력
names=['james','jeny','dan']
print(names) # <출력> ['james', 'jeny', 'dan']
print(names[2]) # <출력> dan
list안에 유무확인하기
names=['james','jeny','dan']
if 'jeny' in names :
print("jeny in here")
else :
print ("jeny not here")
난수 정수로 이름 선택하기
idx = random.randint(0,2)
print(names[idx])
for
문자열거형
str = "tom"
print (len(str))
for b in str :
print(b)
#<출력>
#t
#o
#m
리스트열거형
lst=[1,2,3,4,5]
for a in str :
print("영어 : ",a)
#<출력>
#영어 : t
#영어 : o
#영어 : m
range
range(10) #0에서부터 9까지
range(1,10) #1에서부터 9까지
range(1,10,3) #1에서 9까지 3간격
리스트에 자료저장
import random
lst=[]
for a in range(1,10) :
r = random.randint(1,10)
lst.append(r)
print('lst:',lst)
# <출력> lst: [10, 5, 3, 2, 2, 9, 6, 4, 6]
EX1) for 문과 range() 함수 사용
1에서 100까지의 수에서 5의 배수만 빈 리스트에 담아 출력
a = 0
lst=[]
for a in range(1,101) :
if a%5==0 :
lst.append(a)
print(lst)
#<출력> [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]
중첩문의 반복문
EX) 구구단
for a in range(2,10):
print("{}단".format(a))
for b in range(1,10) :
print(a,b,a*b)
WHILE
EX1)
1~100사이에서 5의 배수이면서 3의 배수가 아닌 수의 합 계산하기
EX2)
-1, 3, -5, 7, -9, ... 99 까지의 합을 구하시오.
방법1
num = -1
tot = 0
while num < 100 :
num += 1
tot += num
if num % 4 == 1:
tot -= num*2
if num % 2 == 0:
tot -= num
print(tot)
방법2
cnt = tot = 0
while cnt < 100:
cnt += 1
if cnt % 4 == 3:
tot += cnt
elif cnt % 4 == 1:
tot -= cnt
print(tot)
방법3
cnt = cnt2 = cnt3 = tot = 0
dataset = []
while cnt < 100:
cnt += 1
if (cnt % 2) != 0:
cnt2 += 1
if (cnt2 % 2) != 0:
cnt3 = cnt*(-1)
tot += cnt3
dataset.append(cnt3)
else:
tot += cnt
dataset.append(cnt)
print('-1, 3, -5, 7, -9 ~ 99까지의 합 = %d' % tot)
print('dataset =', dataset)
반응형
'Programming > Python(파이썬)' 카테고리의 다른 글
[Python] 자료구조 (0) | 2022.11.01 |
---|---|
[Python] 리스트내포 (0) | 2022.10.31 |
[Python] tuple, set, dic (0) | 2022.10.27 |
[Python] 리스트 (0) | 2022.10.27 |
[Python] 문자열 관련함수 (0) | 2022.10.26 |