본문 바로가기
PROGRAMING📚/Python📑

[Python]반복문 roof

Ta이니 2024. 11. 23.
728x90
반응형

반복문 roof

💡

for 변수 in 리스트 (또는 튜플, 문자열) :

수행 문장1

수행 문장2

...

print("{0:=^20}".format("반복문"))

ls=['one', 'two','three']
for i in ls:
  print(i)

========반복문=========
one
two
three

for i in range(0, len(ls)):
  print(ls[i],'index: ',ls.index(ls[i])) # 리스트의 인덱스를 이용한 접근 방법

one index: 0
two index: 1
three index: 2

a=[(97,'a'),[98,'b'],(99,'c')]
for k, v in a:
  print(f"{k}:{v} \t", end="\n")

97:a
98:b
99:c

for i in range(97,97+26):
  if(i !=97):
    print('', end=", ")
  print(chr(i), end="")

a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z

marks=[90,25,67,45,80]
for i in marks :
  # if i >= 60: print(i)
  if i <60 : continue
  print(i)
marks=[90,25,67,45,80]
for i in marks :
  if i >= 60: print(i)
  print(i)

90
67
80

a= "123a45"
for i in a:
  try:
    int(i)
  except:
    print("Not a number"); continue;
  print(f"Number : {i}")

Number : 1
Number : 2
Number : 3
Not a number
Number : 4
Number : 5

a= "123a45"
result = 'Number'
for i in a:
  #방법 1
  # try:
  #   int(i)
  # except:
  #   print("Not a number"); continue;
  # print(f"Number : {i}")

    #방법 2
  if not i.isnumeric():
    result = "Not a Number"
      break

    #방법 3
  # if (ord(i) < ord('0') or ord(i) > ord('9')):
  #   result = "Not a Number";break;
print(result)

Not a Number

구구단 만들기

print("{0:=^20}".format("구구단"))
for i in range(2,10):
  print("{0:=^20}".format(f'{i}단'))
  for j in range(1,9):
    print(f"{i}*{j} = {i*j}")

========구구단=========
=========2단=========
21 = 2
2
2 = 4
23 = 6
2
4 = 8
25 = 10
2
6 = 12
27 = 14
2
8 = 16
=========3단=========
31 = 3
3
2 = 6
33 = 9
3
4 = 12
35 = 15
3
6 = 18
37 = 21
3
8 = 24
=========4단=========
41 = 4
4
2 = 8
43 = 12
4
4 = 16
45 = 20
4
6 = 24
47 = 28
4
8 = 32
=========5단=========
51 = 5
5
2 = 10
53 = 15
5
4 = 20
55 = 25
5
6 = 30
57 = 35
5
8 = 40
=========6단=========
61 = 6
6
2 = 12
63 = 18
6
4 = 24
65 = 30
6
6 = 36
67 = 42
6
8 = 48
=========7단=========
71 = 7
7
2 = 14
73 = 21
7
4 = 28
75 = 35
7
6 = 42
77 = 49
7
8 = 56
=========8단=========
81 = 8
8
2 = 16
83 = 24
8
4 = 32
85 = 40
8
6 = 48
87 = 56
8
8 = 64
=========9단=========
91 = 9
9
2 = 18
93 = 27
9
4 = 36
95 = 45
9
6 = 54
97 = 63
9
8 = 72

for i in range(2, 10, 3):
  for j in range(1, 10):
    for k in range(0,3):
      if not((i+k)==10):
        print('%d * %d = %2d' %((i+k), j, (i+k)*j),end='\t')
    print()
  print()

2 * 1 = 2 3 * 1 = 3 4 * 1 = 4
2 * 2 = 4 3 * 2 = 6 4 * 2 = 8
2 * 3 = 6 3 * 3 = 9 4 * 3 = 12
2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
2 * 5 = 10 3 * 5 = 15 4 * 5 = 20
2 * 6 = 12 3 * 6 = 18 4 * 6 = 24
2 * 7 = 14 3 * 7 = 21 4 * 7 = 28
2 * 8 = 16 3 * 8 = 24 4 * 8 = 32
2 * 9 = 18 3 * 9 = 27 4 * 9 = 36

5 * 1 = 5 6 * 1 = 6 7 * 1 = 7
5 * 2 = 10 6 * 2 = 12 7 * 2 = 14
5 * 3 = 15 6 * 3 = 18 7 * 3 = 21
5 * 4 = 20 6 * 4 = 24 7 * 4 = 28
5 * 5 = 25 6 * 5 = 30 7 * 5 = 35
5 * 6 = 30 6 * 6 = 36 7 * 6 = 42
5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
5 * 8 = 40 6 * 8 = 48 7 * 8 = 56
5 * 9 = 45 6 * 9 = 54 7 * 9 = 63

8 * 1 = 8 9 * 1 = 9
8 * 2 = 16 9 * 2 = 18
8 * 3 = 24 9 * 3 = 27
8 * 4 = 32 9 * 4 = 36
8 * 5 = 40 9 * 5 = 45
8 * 6 = 48 9 * 6 = 54
8 * 7 = 56 9 * 7 = 63
8 * 8 = 64 9 * 8 = 72
8 * 9 = 72 9 * 9 = 81

while문

a= list(range(1, 10))
i= 0
while i < len(a):
  print("짝수" if a[i] % 2 ==0 else "홀수"); i+=1

 

from tkinter import simpledialog as sd
print("1~100 사이의 숫자를 맞추시오")
rand = int(random.random()*100)+1
cnt =0
while True:
  input = sd.askinteger("Input","Your Answer?", parent=None)
  cnt +=1
  if input == rand :
    print(f"정답 입니다 {rand}. {cnt}번 만에 맞췄습니다."); break;
  elif rand> input :
    print(f"{input} 보다 랜덤값이 큽니다.")
  elif rand< input :
    print(f"{input} 보다 랜덤값이 작습니다.")
print(rand)

1~100 사이의 숫자를 맞추시오
50 보다 랜덤값이 작습니다.
20 보다 랜덤값이 작습니다.
10 보다 랜덤값이 작습니다.
1 보다 랜덤값이 큽니다.
2 보다 랜덤값이 큽니다.
5 보다 랜덤값이 큽니다.
8 보다 랜덤값이 큽니다.
정답입니다
9

Threading : 스레드

import random
import sys
import threading
import time

class Bomb(threading.Thread):
  def __init__(self):
    #thread 생성
    threading.Thread.__init__(self)
    #속성 생성
    # 변수명 앞에 __ 를 붙이게 되면 private 하게 사용 가능
    self.__life = random.randint(0,1)
    self.__state = False

  def run(self):
    for i in range(5, 0, -1):
      if self.__state : break;
      print(i)
      time.sleep(1) # 1초
    if not self.__state:
      print("꽝아ㅏ아아아아ㅏ아앙")
    sys.exit() #시스템 종료

# p05_roof.py
import Bomb
b= Bomb.Bomb()
b.start()

파란선, 빨간선 값 받아서 폭탄 멈추거나 터트지게 구현하는 방법

from tkinter import simpledialog as sd
import Bomb
b= Bomb.Bomb()
b.start()
input =sd.askinteger("폭탄을 막아라 ", "파란선(0), 또는 빨간선(1) 중에 고르시오.",parent =None)
b.choose(input)

  def choose(self, line):
    try:
      line = int(line)
    except:
      line =1
    print(f'{line}을 선택하셨습니다.')
    if(self.__life == line):
      print("휴~ 살았다!")
    else:
      print('악!')
    self.__state =True

[Python]반복문 roof

728x90
반응형

'PROGRAMING📚 > Python📑' 카테고리의 다른 글

[Python]Tuple  (0) 2024.11.25
[Python] 리스트 List  (0) 2024.11.24
Python - Operator(연산)  (0) 2024.11.22
[Python]condition - 조건문  (0) 2024.11.16
[Python]constant  (1) 2024.11.14

댓글