오늘의 코딩
1. 파이썬앱 IDLE를 실행합니다.
2. 문제에 주어진 내용을 잘 읽고 답안을 참고하여 코딩하고 그 결과를 확인합니다.
Sign in to Google to save your progress. Learn more
학교 *
학번 *
이름 *
# micro.bit  피지컬 프로그래밍

from microbit import *

import audio
audio.play(Sound.HAPPY)
display.show(Image.ROLLERSKATE)

while True:
    direct = accelerometer.get_x()
    if direct >= 100:
        display.show(Image.ARROW_E)
        sleep(500)
    elif direct <= -100:
        display.show(Image.ARROW_W)
        sleep(500)
    else:
        display.show(Image.ASLEEP)
        sleep(500)
*
표 만들기

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>구구단(30200홍길동)</title>
    <style>
        table {
            width: 90%;
            border-collapse: collapse;
        }
        td {
            width: 10%;
            border: 2px solid #000;
            vertical-align: top;
            padding: 10px;
        }
        h2 {
            margin: 0;
            text-align: center;
        }
    </style>
</head>
<body>
    <h1>구구단(30200홍길동)</h1>
    <table>
        <tr id="gugu-row"></tr>
    </table>

    <script>
        const gugu = document.getElementById("gugu-row");

        for (let i = 1; i <= 9; i++) {
            let td = document.createElement("td");

            let danTitle = document.createElement("h2");
            danTitle.textContent = i + "단";
            td.appendChild(danTitle);

            for (let j = 1; j <= 15; j++) {
                let result = document.createElement("p");
                result.textContent = `${i} - ${j} =  ${i*j}  `;
                td.appendChild(result);
            }

            gugu.appendChild(td);
        }
    </script>
</body>
</html>
*
구구단

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>구구단(30299홍길동)</title>
    <style>
        table {
            width: 100%;
            border-collapse: collapse;
        }
        td {
            width: 11%;
            border: 1px solid #000;
            vertical-align: top;
            padding: 10px;
        }
        h3 {
            margin: 0;
            text-align: center;
        }
    </style>
</head>
<body>
    <h1>구구단 출력(30299홍길동)</h1>
    <table>
        <tr id="gugudan-row"></tr>
    </table>

    <script>
        const gugudanRow = document.getElementById("gugudan-row");

        // 1단부터 9단까지 출력하는 for문
        for (let i = 1; i <= 9; i++) {
            let td = document.createElement("td");

            let danTitle = document.createElement("h3");
            danTitle.textContent = i + "단";
            td.appendChild(danTitle);

            for (let j = 1; j <= 9; j++) {
                let result = document.createElement("p");
                result.textContent = `${i} x ${j} = ${i * j}`;
                td.appendChild(result);
            }

            gugudanRow.appendChild(td);
        }
    </script>
</body>
</html>

*
구구단

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>구구단(30299홍길동)</title>
    <style>
        table {
            width: 100%;
            border-collapse: collapse;
        }
        td {
            width: 11%;
            border: 1px solid #000;
            vertical-align: top;
            padding: 10px;
        }
        h3 {
            margin: 0;
            text-align: center;
        }
    </style>
</head>
<body>
    <h1>구구단 출력(30299홍길동)</h1>
    <table>
        <tr id="gugudan-row"></tr>
    </table>

    <script>
        const gugudanRow = document.getElementById("gugudan-row");

        // 1단부터 9단까지 출력하는 for문
        for (let i = 1; i <= 9; i++) {
            let td = document.createElement("td");

            let danTitle = document.createElement("h3");
            danTitle.textContent = i + "단";
            td.appendChild(danTitle);

            for (let j = 1; j <= 9; j++) {
                let result = document.createElement("p");
                result.textContent = `${i} x ${j} = ${i * j}`;
                td.appendChild(result);
            }

            gugudanRow.appendChild(td);
        }
    </script>
</body>
</html>

이 코드는 구구단을 출력하는 웹페이지를 만드는 HTML 파일입니다. 각 부분의 설명은 다음과 같습니다:
<!DOCTYPE html> 및 <html lang="ko">이 코드는 HTML5 문서임을 선언하는 부분입니다.
lang="ko"는 문서의 언어가 한국어임을 지정합니다.
<head>웹 페이지의 메타데이터를 정의하는 부분입니다.<meta charset="UTF-8">는 문서의 문자 인코딩 방식을 UTF-8로 설정합니다.
<meta name="viewport" content="width=device-width, initial-scale=1.0">는 모바일 기기에서도 페이지가 적절하게 보이도록 화면 크기에 맞게 조정됩니다.
<title>은 웹 브라우저 탭에 표시될 제목입니다. 여기서는 "구구단(30299홍길동)"이 제목으로 표시됩니다.
<style>페이지의 CSS 스타일을 정의하는 부분입니다.
table { width: 100%; border-collapse: collapse; }: 테이블은 페이지의 전체 너비를 차지하고, 테두리가 겹치지 않게 설정됩니다.
td { width: 11%; border: 1px solid #000; vertical-align: top; padding: 10px; }: 각 셀의 너비는 11%로 설정되고, 테두리는 검은색 실선, 텍스트는 위쪽에 정렬되며, 셀 안에 여백이 10px 들어갑니다.
h3 { margin: 0; text-align: center; }: <h3> 요소는 위아래 여백이 없고, 가운데 정렬됩니다.
<body>실제로 웹페이지에 보여질 내용을 담고 있습니다.<h1>구구단 출력(30299홍길동)</h1>: 큰 제목으로 "구구단 출력(30299홍길동)"이 표시됩니다.
<table>: 구구단을 출력할 테이블을 만듭니다.
<tr id="gugudan-row"></tr>: 테이블의 첫 번째 행에 id가 gugudan-row인 빈 행을 만듭니다. 여기에 각 단이 가로로 추가됩니다.<script>

자바스크립트를 사용하여 동적으로 구구단을 생성합니다.

const gugudanRow = document.getElementById("gugudan-row");: id가 gugudan-row인 <tr> 요소를 선택하여 gugudanRow 변수에 저장합니다.

구구단 생성:

for (let i = 1; i <= 9; i++): 1단부터 9단까지 반복하는 for문입니다.
let td = document.createElement("td");: 각 단을 표시할 <td> 요소를 동적으로 생성합니다.
let danTitle = document.createElement("h3"); danTitle.textContent = i + "단";: 각 단의 제목을 <h3> 태그로 생성하여 i단이라고 표시합니다.
for (let j = 1; j <= 9; j++): 각 단에서 1부터 9까지 곱하는 이중 for문입니다.
let result = document.createElement("p"); result.textContent = ${i} x ${j} = ${i * j};: 곱셈 결과를 <p> 태그로 생성하여 출력합니다.
gugudanRow.appendChild(td);: 생성된 각 <td>를 테이블의 행에 추가합니다.

이 스크립트가 실행되면 1단부터 9단까지의 구구단이 테이블의 한 행에 가로로 나열됩니다.

*
# 구구단

def print_multiplication_table():
    for i in range(1, 10):  # 1부터 9까지
        for j in range(1, 10):  # 1부터 9까지
            print(f"{j} x {i} = {j * i}", end='\t')  # \t는 탭 문자로 정렬을 맞춥니다.
        print()  # 각 단이 끝난 후 줄 바꿈

# 구구단 출력 호출
print_multiplication_table()
*
구구단 - 원하는 단 옵션단추

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>구구단</title>
    <style>
        table {
            border-collapse: collapse;
            width: 50%;
            margin: 20px auto;
        }
        th, td {
            border: 1px solid #000;
            padding: 10px;
            text-align: center;
        }
        select {
            margin: 20px auto;
            display: block;
        }
    </style>
</head>
<body>

    <h1 style="text-align: center;">구구단(30300홍길동)</h1>

    <select id="dan-select" onchange="showDan()">
        <option value="">--단 선택--</option>
        <!-- 1단부터 99단까지 옵션을 생성 -->
        <script>
            for (let i = 1; i <= 99; i++) {
                document.write(`<option value="${i}">${i}단</option>`);
            }
        </script>
    </select>

    <table id="gugudan-table">
        <!-- 선택된 구구단의 결과가 여기에 출력됨 -->
    </table>

    <script>
        function showDan() {
            // 선택한 단을 가져옴
            let dan = document.getElementById("dan-select").value;
            let table = document.getElementById("gugudan-table");
            table.innerHTML = ""; // 테이블 초기화

            if (dan) {
                // 테이블 행을 생성하여 구구단 출력
                for (let i = 1; i <= 9; i++) {
                    let row = table.insertRow();
                    let cell1 = row.insertCell(0);
                    let cell2 = row.insertCell(1);
                    let cell3 = row.insertCell(2);

                    cell1.textContent = `${dan} x ${i}`;
                    cell2.textContent = "=";
                    cell3.textContent = dan * i;
                }
            }
        }
    </script>

</body>
</html>
*
다이아몬드

def print_diamond(n):
    # 위쪽 삼각형 부분
    for i in range(n):
        # 공백 출력
        print(' ' * (n - i - 1), end='')
        # 별 출력
        print('*' * (2 * i + 1))
   
    # 아래쪽 삼각형 부분
    for i in range(n - 2, -1, -1):
        # 공백 출력
        print(' ' * (n - i - 1), end='')
        # 별 출력
        print('*' * (2 * i + 1))

# 예시: 크기가 5인 다이아몬드 출력
print_diamond(5)
-------------------------------------------------------------

*
별 그리기

import turtle

def draw_star(size):
    turtle.penup()
    turtle.goto(-size/2,0)  # 시작 위치 조정
    turtle.pendown()

    for _ in range(5):
        turtle.forward(size)
        turtle.right(144)  # 각 꼭짓점 사이의 각도는 144도

    turtle.done()

# 별의 크기 설정
size = 500
draw_star(size)
-------------------------------------------------------------

*
2024. 7. 8.
파이썬 터틀

# 파이썬의 터틀 그래픽 모듈을 사용하면 프로그래밍을 배우는 데 재미있고 시각적인 방법을 제공할 수 있습니다. 이 모듈을 사용하여 간단한 그림을 그릴 수 있습니다. 여기에는 기본적인 사용법과 몇 가지 예제를 소개하겠습니다.

### 기본적인 사용법

#터틀 모듈을 사용하려면 `turtle`을 임포트해야 합니다.


import turtle


#그 후에 터틀 객체를 생성하고, 터틀 객체의 메서드를 사용하여 그림을 그릴 수 있습니다.

#python
# 터틀 객체 생성
t = turtle.Turtle()

# 선 이동
t.forward(100)  # 앞으로 100 픽셀 이동
t.right(90)     # 오른쪽으로 90도 회전

# 터틀 창 닫기
turtle.done()


### 예제 1: 정사각형 그리기

#터틀 그래픽을 사용하여 정사각형을 그리는 간단한 예제입니다.


import turtle

# 터틀 객체 생성
t = turtle.Turtle()

# 정사각형 그리기
for _ in range(4):
    t.forward(100)
    t.right(90)

# 터틀 창 닫기
turtle.done()


### 예제 2: 원 그리기

#터틀 그래픽을 사용하여 원을 그리는 예제입니다.


import turtle

# 터틀 객체 생성
t = turtle.Turtle()

# 원 그리기
t.circle(100)

# 터틀 창 닫기
turtle.done()


### 예제 3: 다각형 그리기

#여러 종류의 다각형을 그리는 예제입니다.


import turtle

# 터틀 객체 생성
t = turtle.Turtle()

def draw_polygon(sides, length):
    angle = 360 / sides
    for _ in range(sides):
        t.forward(length)
        t.right(angle)

# 삼각형
draw_polygon(3, 100)

# 터틀 이동
t.penup()
t.goto(-150, 0)
t.pendown()

# 사각형
draw_polygon(4, 100)

# 터틀 이동
t.penup()
t.goto(150, 0)
t.pendown()

# 오각형
draw_polygon(5, 100)

# 터틀 창 닫기
turtle.done()


### 예제 4: 별 그리기

#터틀 그래픽을 사용하여 별을 그리는 예제입니다.


import turtle

# 터틀 객체 생성
t = turtle.Turtle()

# 별 그리기
for _ in range(5):
    t.forward(100)
    t.right(144)

# 터틀 창 닫기
turtle.done()


### 예제 5: 나선형 그리기

#터틀 그래픽을 사용하여 나선형을 그리는 예제입니다.


import turtle

# 터틀 객체 생성
t = turtle.Turtle()

# 나선형 그리기
for i in range(100):
    t.forward(i * 2)
    t.right(45)

# 터틀 창 닫기
turtle.done()

#이와 같은 기본적인 예제들을 통해 터틀 그래픽의 사용법을 익힐 수 있습니다. 더 복잡한 그림을 그리기 위해서는 반복문과 함수 등을 활용하여 코드의 재사용성을 높이는 것이 좋습니다.
*
1 point
# 2024. 6. 30. 오늘의 파이썬 코딩

'''

파이썬에서 여러 가지 정렬 알고리즘을 구현할 수 있습니다. 여기서는 주요 정렬 알고리즘들을 간단한 코드 예제와 함께 소개하겠습니다.

1. 선택 정렬 (Selection Sort)

선택 정렬은 리스트에서 가장 작은(또는 큰) 요소를 선택하여 앞으로 순서대로 정렬하는 방식입니다.

'''

def selection_sort(arr):
    n = len(arr)
    for i in range(n):
        min_idx = i
        for j in range(i + 1, n):
            if arr[j] < arr[min_idx]:
                min_idx = j
        arr[i], arr[min_idx] = arr[min_idx], arr[i]

# 예시
numbers = [64, 25, 12, 22, 11]
selection_sort(numbers)
print("선택 정렬 결과:", numbers)

# 출력: 선택 정렬 결과: [11, 12, 22, 25, 64]


'''
2. 삽입 정렬 (Insertion Sort)

삽입 정렬은 현재 요소를 정렬된 배열 부분에 삽입하는 방식으로 정렬합니다.

'''

def insertion_sort(arr):
    for i in range(1, len(arr)):
        key = arr[i]
        j = i - 1
        while j >= 0 and key < arr[j]:
            arr[j + 1] = arr[j]
            j -= 1
        arr[j + 1] = key

# 예시
numbers = [64, 25, 12, 22, 11]
insertion_sort(numbers)
print("삽입 정렬 결과:", numbers)

# 출력: 삽입 정렬 결과: [11, 12, 22, 25, 64]

'''
3. 버블 정렬 (Bubble Sort)

버블 정렬은 인접한 두 요소를 비교하며 정렬하는 방식으로, 큰 값이 뒤로 이동합니다.

'''

def bubble_sort(arr):
    n = len(arr)
    for i in range(n - 1):
        for j in range(0, n - i - 1):
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]

# 예시
numbers = [64, 25, 12, 22, 11]
bubble_sort(numbers)
print("버블 정렬 결과:", numbers)
# 출력: 버블 정렬 결과: [11, 12, 22, 25, 64]


'''
4. 병합 정렬 (Merge Sort)

병합 정렬은 분할 정복(divide and conquer) 방법을 사용하여 리스트를 정렬합니다.

'''

def merge_sort(arr):
    if len(arr) > 1:
        mid = len(arr) // 2
        L = arr[:mid]
        R = arr[mid:]

        merge_sort(L)
        merge_sort(R)

        i = j = k = 0

        while i < len(L) and j < len(R):
            if L[i] < R[j]:
                arr[k] = L[i]
                i += 1
            else:
                arr[k] = R[j]
                j += 1
            k += 1

        while i < len(L):
            arr[k] = L[i]
            i += 1
            k += 1

        while j < len(R):
            arr[k] = R[j]
            j += 1
            k += 1

# 예시
numbers = [64, 25, 12, 22, 11]
merge_sort(numbers)
print("병합 정렬 결과:", numbers)
# 출력: 병합 정렬 결과: [11, 12, 22, 25, 64]

'''
5. 퀵 정렬 (Quick Sort)

퀵 정렬은 분할 정복 방법을 사용하여 리스트를 정렬하며, 평균적으로 매우 빠른 정렬 알고리즘입니다.

'''

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        less = [x for x in arr[1:] if x <= pivot]
        greater = [x for x in arr[1:] if x > pivot]
        return quick_sort(less) + [pivot] + quick_sort(greater)

# 예시
numbers = [64, 25, 12, 22, 11]
sorted_numbers = quick_sort(numbers)
print("퀵 정렬 결과:", sorted_numbers)

# 출력: 퀵 정렬 결과: [11, 12, 22, 25, 64]

'''
참고사항
각 정렬 알고리즘은 장단점이 있으며, 상황에 따라 적합한 알고리즘을 선택하여 사용하는 것이 중요합니다.병합 정렬과 퀵 정렬은 분할 정복 알고리즘으로 평균적으로 O(n log n)의 시간 복잡도를 가지지만, 선택 정렬과 삽입 정렬은 O(n^2)의 시간 복잡도를 가집니다.Python의 내장 함수 sorted()를 사용하면 간단히 리스트를 정렬할 수 있으며, reverse=True 옵션을 사용하여 역순 정렬도 할 수 있습니다.

이러한 예시들을 통해 여러 가지 정렬 알고리즘을 구현하고 이해할 수 있습니다. 필요에 따라 다른 정렬 알고리즘을 공부하고 적용해 보시기 바랍니다.

'''

*
1 point
# 2024. 6. 24. 오늘의 파이썬 코딩

# 소수구하기

def eratos(n):
    pri = [True] * (n + 1)
    p = 2
    while p * p <= n:
        if pri[p] == True:
            for i in range(p * p, n + 1, p):
                pri[i] = False
        p += 1

    primes = [p for p in range(2, n + 1) if pri[p]]
    return primes


n = int(input('2이상의 정수를 입력하세요 ~ '))
print(eratos(n))
*
1 point
import webbrowser
url = "https://youtu.be/dkcdSj4qBWU?si=Ad2_e3NRa64wSUOT"
webbrowser.open(url)
*
1 point
import webbrowser
url = "https://youtu.be/PLIAp5nr0q0?si=do2g8dH1bDsXPED8"
webbrowser.open(url)
*
1 point
import tkinter as tk
from tkinter import colorchooser

class PaintApp:
    def __init__(self, root):
        self.root = root
        self.root.title("그림판")

        self.color = "black"
        self.brush_size = 5

        self.canvas = tk.Canvas(root, bg="white")
        self.canvas.pack(fill=tk.BOTH, expand=True)

        self.canvas.bind("<B1-Motion>", self.paint)
        self.canvas.bind("<Button-1>", self.start_paint)
        self.canvas.bind("<ButtonRelease-1>", self.reset)

        self.create_widgets()

        self.old_x = None
        self.old_y = None

    def create_widgets(self):
        color_button = tk.Button(self.root, text="색 선택", command=self.choose_color)
        color_button.pack(side=tk.LEFT)

        clear_button = tk.Button(self.root, text="지우기", command=self.clear_canvas)
        clear_button.pack(side=tk.LEFT)

        size_label = tk.Label(self.root, text="브러시 크기")
        size_label.pack(side=tk.LEFT)

        self.size_scale = tk.Scale(self.root, from_=1, to=10, orient=tk.HORIZONTAL)
        self.size_scale.set(self.brush_size)
        self.size_scale.pack(side=tk.LEFT)

    def choose_color(self):
        self.color = colorchooser.askcolor(color=self.color)[1]

    def clear_canvas(self):
        self.canvas.delete("all")

    def start_paint(self, event):
        self.old_x = event.x
        self.old_y = event.y

    def reset(self, event):
        self.old_x = None
        self.old_y = None

    def paint(self, event):
        self.brush_size = self.size_scale.get()
        if self.old_x and self.old_y:
            self.canvas.create_line(self.old_x, self.old_y, event.x, event.y,
                                    width=self.brush_size, fill=self.color,
                                    capstyle=tk.ROUND, smooth=tk.TRUE)

        self.old_x = event.x
        self.old_y = event.y

if __name__ == "__main__":
    root = tk.Tk()
    app = PaintApp(root)
    root.mainloop()
*
import webbrowser
url = "https://www.youtube.com/shorts/VSOj2-2zIko"
webbrowser.open(url)
*
1 point
import webbrowser
url = "https://www.youtube.com/watch?v=_tZjXBhi8Xw"
webbrowser.open(url)
*
1 point
[오늘의 파이썬코딩 (2024.06.3)]

# 문자열이 주어질 때 문자별로  모아쓰기

from collections import Counter

def school(star):
    young = Counter(star)
    print(young)
    happy = []
    for i in star:
        if young[i]>0:
            happy.append(i*young[i])
            young[i] = 0
    return ''.join(happy)

a='The lessons of our Ongoeul Middle School are creativity, sincerity, and autonomy.'
print(a)
print(school(a))

b='우리 온고을중학교 교훈은 창의, 성실, 자율 입니다.'
print(b)
print(school(b))

c='우리 학교 노력중점은 배려와 소통으로 건강한 인성 함양 입니다.'
print(c)
print(school(c))

d="The main focus of our school's efforts is to cultivate a healthy personality through consideration and communication."
print(d)
print(school(d))
*
import webbrowser
url = "https://www.youtube.com/watch?v=Ou4ke5cpp8c"
webbrowser.open(url)
*
1 point
[코딩활용]  BTS Spring Day _ 파이썬에서 유튜브 불러오기

aa1='''
보고 싶다
이렇게 말하니까 더 보고 싶다
너희 사진을 보고 있어도
보고 싶다
너무 야속한 시간
나는 우리가 밉다
이젠 얼굴 한번 보는 것 조차
힘들어진 우리가
여긴 온통 겨울 뿐이야
8월에도 겨울이 와
마음은 시간을 달려가네
홀로 남은 설국열차
니 손 잡고 지구 반대편까지 가
겨울을 끝내고파
그리움들이 얼마나
눈처럼 내려야 그 봄날이 올까
Friend
허공을 떠도는
작은 먼지처럼 작은 먼지처럼
날리는 눈이 나라면
조금 더 빨리
네게 닿을 수 있을 텐데
눈꽃이 떨어져요
또 조금씩 멀어져요
보고 싶다 보고 싶다
보고 싶다 보고 싶다
얼마나 기다려야
또 몇 밤을 더 새워야
널 보게 될까 널 보게 될까
만나게 될까 만나게 될까
추운 겨울 끝을 지나
다시 봄날이 올 때까지
꽃 피울 때까지
그곳에 좀 더 머물러줘
머물러줘'''
aa2='''
니가 변한 건지
니가 변한 건지
아니면 내가 변한 건지
내가 변한 건지
이 순간 흐르는 시간조차 미워
우리가 변한 거지 뭐
모두가 그런 거지 뭐
그래 밉다 니가 넌 떠났지만
단 하루도 너를
잊은 적이 없었지 난
솔직히 보고 싶은데
이만 너를 지울게
그게 널 원망하기보단
덜 아프니까
시린 널 불어내 본다
연기처럼 하얀 연기처럼
말로는 지운다 해도
사실 난 아직 널 보내지 못하는데
눈꽃이 떨어져요
또 조금씩 멀어져요
보고 싶다 보고 싶다
보고 싶다 보고 싶다
얼마나 기다려야
또 몇 밤을 더 새워야
널 보게 될까 널 보게 될까
만나게 될까 만나게 될까
You know it all
You're my best friend
아침은 다시 올 거야
어떤 어둠도 어떤 계절도
영원할 순 없으니까
벚꽃이 피나봐요
이 겨울도 끝이 나요
보고 싶다 보고 싶다
보고 싶다 보고 싶다
조금만 기다리면
며칠 밤만 더 새우면
만나러 갈게 만나러 갈게
데리러 갈게 데리러 갈게
추운 겨울 끝을 지나
다시 봄날이 올 때까지
꽃 피울 때까지
그곳에 좀 더 머물러줘
머물러줘
'''
print(aa1)
print(aa2)

import webbrowser

video_url = "https://www.youtube.com/watch?v=xEeFrLSkMm8"

webbrowser.open(video_url)

input('아무키나 입력하세요')

video_url = "https://www.youtube.com/watch?v=XKMm9FbzXvM"

# 유튜브 영상의 URL을 웹 브라우저를 통해 엽니다.
webbrowser.open(video_url)

*
0 points
[오늘의 파이썬코딩 (2024.05.31)]

# 문자열이 주어질 때 문자별로  모아쓰기

from collections import Counter

def school(star):
    stay = Counter(star)
    print(stay)
    autonomy = []
    for char in star:
        if stay[char]>0:
            autonomy.append(char*stay[char])
            stay[char]=0
    return ''.join(autonomy)

focus = '''
우리 온고을중학교 교훈은 창의, 성실, 자율 입니다.
교육목표는 배려와 소통으로 함께 성장하는 건강한 학교입니다.
교육방향은
1. 학생이 중심에 선 학교 운영을 위해 가고 싶은 학교,
2. 소통하고 배려하는 학교문화 조성을 위해 머물고 싶은 학교,
3. 공동체가 공감하는 학교 운영을 위해 보내고 싶은 학교,
4. 청렴하고 투명한 학교 행정을 위해 신뢰 받는 학교입니다.
우리 학교 노력중점은 배려와 소통으로 건강한 인성 함양 입니다.
'''
print(focus)
print(school(focus))

goal='''
The lessons of our Ongoeul Middle School are creativity, sincerity, and autonomy.
The educational goal is a healthy school that grows together through consideration and communication.
The direction of education is
1. the school where the student wants to go to run the school in the center,
2. Schools that want to stay in order to create a school culture that communicates and cares,
3. the school you want to send to run the school that the community sympathizes with,
4. It is a trusted school for clean and transparent school administration.
The main focus of our school's efforts is to cultivate a healthy personality through consideration and communication.
'''
print(goal)
print(school(goal))
*
import webbrowser
url = "https://youtu.be/WoTLnaI1NEY?si=vtTKWIvZCxeUN8lo"
webbrowser.open(url)
*
1 point
[오늘의 준비학습]  5단원 반복문 for 문

a='''
for 문

for 변수 in 리스트:
리스트의 첫 번째 요소부터 마지막 요소까지 변수에 차례대로 대입합니다.
for 변수 in 문자열:
문자열의 첫 번째 문자부터 마지막 문자까지 변수에 차례대로 대입합니다.
for 변수 in range(정수):
변수에 0부터 range()안의 값 이전 값까지 정수를 대입합니다.

for 문 첫 번째 줄 맨 끝에 반드시 ':' 를 입력해야 합니다.
for 문 안에서 실행되는 코드는 반드시 들여쓰기가 되어야 합니다.
'''
print(a)

# for문을 이용하여 리스트 만들기

aa = []
for i in range(1, 11):
    aa.append(i)
print(aa)

-------------------------------------------------------------
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
-------------------------------------------------------------

for i in aa:
    print(i)
------------------------------
1
2
3
4
5
6
7
8
9
10
------------------------------

for i in 'You are so beautiful to me.':
    print(i)
------------------------------
Y
o
u
 
a
r
e
 
s
o
 
b
e
a
u
t
i
f
u
l
 
t
o
 
m
e
.
------------------------------

*
0 points
import webbrowser
url = "https://youtu.be/0SfU56IDsb4?si=zXOX7Mn7qyqY8QlE"
webbrowser.open(url)
*
1 point
오늘의 코딩  01 :  for 문

양수만 출력하기문제

여러가지 정수들이 입력됩니다. 이 때, 양수만 골라서 출력해보도록 합시다.

입력

여러 정수들이 공백을 두고 입력됩니다.

출력

여러 정수들 중, 양수만 골라 한 줄에 하나씩 출력해봅시다.

입력된 순서대로 출력됩니다.

예시 입력
1 2 -1 -2 -3 -5 5

예시 출력1 2 5
============================================
a = list(map(int, input().split()))
for i in a:
    if i>0:
        print(i)
*
0 points
오늘의 코딩  02 :  for 문

온점의 개수문제

문장들이 입력됩니다. 이 문제에서 온점은 점(.)입니다.

온점의 개수를 구해봅시다.

입력

문자열이 주어집니다.

출력

온점의 개수를 출력합니다.

예시 입력
Hi, I am codle. Who are you? I am apple.

예시 출력
2

------------------------------------------

a = input()
cnt = 0

for i in a:
    if i=='.':
        cnt += 1
print(cnt)

*
0 points
오늘의 코딩  03 :  for 문

# 예제_5_다양한_range_함수_사용해보기

aa=[]
for i in range(5,10,1):   # 5부터 시작해 10 전까지 1씩 증가한다.
    print(i)
    aa.append(i)
print(aa)

aa=[]
for i in range(5,10):   # 위 코드와 동일하지만, range()안에 두 값만 넣어 변화량을 1로 자동 설정한다.
    print(i)
    aa.append(i)
print(aa)

aa=[]
for i in range(2, 10, 3):   # 2부터 시작해 10 전까지 3씩 증가한다.
    print(i)
    aa.append(i)
print(aa)

aa=[]
for i in range(4,0,-1):    # 4부터 시작해 0 전까지 1씩 감소한다.
    print(i)
    aa.append(i)
print(aa)
*
0 points
오늘의 코딩  05 :  for 문

카운트다운2문제

1개의 정수(integer) (1 ~ 100)를 입력받아 거꾸로 카운트다운하는 프로그램을 작성해봅시다.
(0부터 시작해 입력받은 정수까지 1씩 증가시키며 출력합니다.)

입력

1 ~ 100의
정수 1개가 입력됩니다.

출력

0부터 시작해 입력받은 정수까지 1씩 증가시키며 한 줄에 한개씩 출력합니다.

예시 입력
3
예시 출력
0 1 2 3
-----------------------------------------
n = int(input())

for i in range(n+1)
    print(i)
*
0 points
오늘의 코딩  04 :  for 문

카운트다운1문제

1개의 정수(integer) (1 ~ 100)를 입력받아 카운트다운을 출력하는 프로그램을 작성해봅시다.
(입력받은 수부터 시작해 0까지 1씩 줄이면서 출력합니다.)

입력

1 ~ 100의
정수 1개가 입력됩니다.

출력

입력받은 수부터 시작해 0까지 1씩 줄이면서 출력합니다.

예시 입력
5
예시 출력
5 4 3 2 1 0
------------------------------------------------------
n = int(input())
for i in range(n,-1,-1):
    print(i)
*
0 points
오늘의 코딩  05 :  for 문

# 예제_6_리스트와_index_값을_활용하기
bts = ["RM","진","슈가","지민","정국","뷔","제이홉"]
for i in range(7):
    print("방탄소년단의 "+str(i+1)+"번째 멤버는 "+ bts[i]+"입니다.")
------------------------------------------------------
[별의 위치는?] 문제

'*' 기호 하나를 포함한 여러개의 문자들이 입력됩니다. 이때 *이 몇번 째로 입력되었는지 구하는 프로그램을 작성해 봅시다.

입력

'*'기호 하나를 포함하여 여러 개의 문자들이 공백으로 구분되어 한 줄에 입력됩니다.

출력

*이 몇번 째로 입력되었는지 구하여 출력합니다.

예시 입력
1 2 3 4 * 6 7

예시 출력
5
-----------------------------------------------------------------
a = input().split()
for i in range(len(a)):
    if a[i] =='*':
        print(i+1)
*
0 points
오늘의 코딩  06 :  for 문

#예제_7_for문과_if문을_함께_사용해_3의_배수만_더하기

n = input("정수를 입력하세요.") # 변수 n에 정수를 입력받자.
n = int(n) # 입력받은 n을 정수형으로 변환해준다.
sum = 0 # 총합을 저장할 변수 sum을 0으로 설정하자.

# 0에서 n까지 순서대로 i에 대입하고, i가 3의 배수일 때에만 sum에 더해주는 반복문입니다.
for i in range(n+1): # range 함수는 n미만까지가 범위이므로, n+1까지 범위를 설정해주자.
    if i % 3 == 0: # 3으로 나눈 나머지가 0이면, 3의 배수라는 뜻이죠? (% : 나머지 연산자)
        sum = sum+i  #  i가 3의 배수일 때에만(조건 성립 시에만) sum에 i를 더해줍니다.

print(sum)
----------------------------------------------------------------------
짝수 합 구하기문제

1개의 정수(integer) (1 ~ 100)를 입력받아 1부터 그 수까지 짝수의 합을 구하는 프로그램을 작성해봅시다.

입력

1 ~ 100의
정수 1개가 입력됩니다.

출력

1부터 그 수까지 짝수만 합해 출력합니다.

예시 입력
10
예시 출력
30
------------------------------------------------------------------
n = int(input())
sum = 0

for i in range(1,n+1):
    if i%2 == 0:
        sum += i
 print(sum)
*
0 points
[지난 준비학습 01]
# 화면인쇄
print("안녕하세요")
print("\"안녕하세요\"")

# 입력과 출력
name = input("이름을 입력하세요")
print(name)

#변수
a = 20
print(a)

'''
변수의 이름은 어떻게 지을까요?

숫자, 알파벳, 한글 등을 사용할 수 있습니다.

단, 첫 문자는 숫자로 이루어져서는 안됩니다.(예를 들어, 변수 이름 1add는 잘못된 이름입니다)

가독성을 위해서 변수 이름은 누가 봐도 이해할 수 있도록 지어주세요.

가격을 계산하고 싶을 때 변수명을 price로 한다면, 다른 사람이 코드를 알아보기 쉽겠죠?

'''

#사칙연산

A = 7 # 변수 A에 7을 저장합니다.
B = 2 # 변수 B에 2를 저장합니다.

print(A + B)  # A와 B를 더한 값을 구합니다.
print(A - B)  # A에서 B를 뺀 값을 구합니다.
print(A * B)  # A와 B를 곱한 값을 구합니다.
print(A / B)  # A에서 B를 나눈 값을 구합니다.
print(A // B) # A를 B로 나눈 몫을 구합니다.
print(A % B)  # A를 B로 나눈 나머지를 구합니다.


# 문자로_연산하기

a = '코들'   # 변수 a에 '코들'을 저장합니다.
b = '파이썬' # 변수 b에 '파이썬'을 저장합니다.

# 변수 a와 b를 + 로 더하여 출력하면 두 변수가 공백 없이 이어서 출력되고
# a와 b를 print 함수의 인자로 주어 출력하면 두 변수가 공백으로 구분되어 출력됩니다.
print(a + b) # a와 b를 이어붙인 문자열을 출력합니다.  
print(a, b) # a와 b를 공백으로 구분하여 출력합니다.


# 문자와_정수를_곱하기

a = '코들 '   # 변수 a에 '코들'을 저장합니다.

print(a * 3) # 코들을 3번 출력합니다.


input("메시지")
데이터를 입력받습니다. 이때 "메시지"의 내용이 입력창에 출력됩니다.
변수 = 데이터
변수에 데이터를 대입합니다.
변수 = input("메시지")
"메시지"를 출력하고 데이터를 입력받은 다음, 입력받은 데이터를 변수에 대입합니다.


#이름_입력하고_출력해보기

name = input("이름을 입력하세요")
print(name)


# 예제_1_입력된_정수를_정수형_변환_없이_더해보기

A = input("숫자를 입력해보세요") # 값을 입력받아 A에 저장합니다.

B = input("숫자를 입력해보세요") # 값을 입력받아 B에 저장합니다.


sum = A+B # A, B에 저장된 문자열을 더하고, 그 결과값을 변수 sum에 저장합니다

print(sum) # sum에 저장된 값을 출력합니다.


공백을 기준으로 입력값 나누기(split)

A, B = input().split()
: 입력값을 공백(space)으로 구분하여 A와 B에 나누어 저장해줍니다.


#예제_4_직사각형_넓이_구하기

print("직사각형의 넓이 구하기 : ")
x = int(input("가로 : "))
y = int(input("세로 : ")) 
area = str(x*y) 
print("직사각형의 넓이는 " + area + "입니다.")


#예제_5_단위_바꾸기(삼겹살 한 근에 13000원 일 때)

print("고기의 가격 구하기! ")
weight = float(input("삼겹살 무게 : ")) 
price = str(int((weight * 1000/600 *13000)))
print("고기의 가격은 "+price+"원 입니다.") 

#게시판 페이지 수 (한 페이지에 n개의 글을 보여 줄 수 있는데 m개의 글이 존재할 때)

m,n = input().split()
m,n = int(m),int(n)
print((m-1)//n+1)

*
0 points
오늘의 코딩00
[커피를 얼마나 살 수 있을까] 문제

커피는 한 잔에 4500원입니다. 현재 잔액에 대하여 얼마나 살 수 있을 지 계산해봅시다.

입력

잔액이 입력됩니다.

출력

살 수 있는 커피 수가 출력됩니다.

예시 입력

10000

예시 출력

2

[답안]

a=int(input())
print(a//4500)
*
0 points
오늘의 코딩01

[친구 소개하기] 문제

소개하고자 하는 친구의 이름을 입력받아 친구에 대한 소개말을 얘는 내 친구 (이름)!의 형식으로 출력해 봅시다.
예를 들어 소개하고자 하는 친구의 이름이 '철수'라면 아래와 같이 출력합니다.

얘는 내 친구 철수!입력

친구의 이름이 입력됩니다.

출력

입력된 친구에 대한 소개말을 출력합니다.

예시 입력

영희

예시 출력

얘는 내 친구 영희!

[답안]

name = input()
print(f'얘는 내 친구 {name}!')
*
0 points
오늘의 코딩02

짝수 출력하기 문제

3개의 정수(integer) (a, b, c)를 입력받아 짝(even)/홀(odd)을 판별하여 출력하는 프로그램을 작성해봅시다.
(짝수는 even, 홀수는 odd를 출력 해야합니다.)

입력

3개의 정수가 공백을 두고 입력됩니다.

출력

입력된 순서대로 짝(even)/홀(odd)을 줄을 바꿔 출력합니다.

예시 입력1 2 3예시 출력odd even odd

[답안]

a = list(map(int,input().split()))
for b in a:
    if b%2==0:
        print('even')
    else:
        print('odd')
*
0 points
오늘의 코딩03

[정수의 종류]문제

정수는 양의 정수, 음의 정수, 0, 이 세 가지 종류가 있습니다.
정수 n이 입력되었을 때, n이 양수이면 'positive', 음수이면 'negative', 0이면 'zero'를 출력하는 프로그램을 작성해 봅시다.

입력

정수 n이 입력 됩니다.

출력

입력된 정수 n이 양의 정수이면 'positive'를, 음의 정수이면 'negative'를, 0이면 'zero'를 출력합니다.

예시 입력

0

예시 출력

zero

[답안]

n = int(input())
if n>0:
    print('positive')
elif n==0:
    print('zero')
else:
    print('negative')
*
0 points
오늘의 코딩04

문제

점수(정수, 0 ~ 100)를 입력받아 등급을 분류하는 프로그램을 작성해봅시다.

평가 기준은 아래와 같습니다.
점수 범위 : 평가
90 ~ 100 : A
70 ~   89 : B
40 ~   69 : C
0 ~   39 : F

입력

정수(0 ~ 100) 1개가 입력됩니다.

출력

평가 결과를 출력합니다.

예시 입력

95

예시 출력

A

[답안]

a = int(input())

if a >= 90:
    print("A")
elif 70<=a<90:
    print("B")
elif 40<=a<70:
    print("C")
else:
    print("F")
*
0 points
오늘의 코딩05

시력이 0.7 이하이면 안경 착용 권하기문제

키보드로 시력을 입력 받아 시력이 0.7 이하이면 안경 착용을 권하는 프로그램을 작성해봅시다.

입력

1개의 실수가 입력됩니다.

출력

0.7 이하일 경우에는 "안경 착용을 권합니다!" 를 출력하고, 그 외의 경우에는 "생활에 불편함이 없으면 일단 좀 지켜 봅시다!" 를 출력합니다.

예시 입력

당신의 시력을 입력하세요: 0.4

예시 출력

안경 착용을 권합니다!
예시 입력


[답안]

eye = float(input("당신의 시력을 입력하세요: "))

if eye <= 0.7:
  print("안경 착용을 권합니다!")
else:
  print("생활에 불편함이 없으면 일단 좀 지켜 봅시다!")
*
0 points
[ 오늘의 코딩06

시력이 0.7 이하이면 안경 착용 권하기문제

키보드로 시력을 입력 받아 시력이 0.7 이하이면 안경 착용을 권하는 프로그램을 작성해봅시다.

입력

1개의 실수가 입력됩니다.

출력

0.7 이하일 경우에는 "안경 착용을 권합니다!" 를 출력하고, 그 외의 경우에는 "생활에 불편함이 없으면 일단 좀 지켜 봅시다!" 를 출력합니다.

예시 입력

당신의 시력을 입력하세요: 0.4

예시 출력

안경 착용을 권합니다!
예시 입력


[답안]

eye = float(input("당신의 시력을 입력하세요: "))

if eye <= 0.7:
  print("안경 착용을 권합니다!")
else:
  print("생활에 불편함이 없으면 일단 좀 지켜 봅시다!")
*
0 points
오늘의 코딩07

정수 분류하기문제

1개의 정수(integer)를 입력받아 입력받은 정수의 부호(+/-)와 짝/홀 여부(even/odd)를 구분해 분류해봅시다.

입력

-2147483648 ~ +2147483647의
0을 제외한 정수가 입력됩니다.

출력

(짝/홀 여부)(부호)의 형태로 출력됩니다.

예시 입력

-5

예시 출력

odd-

[답안]

a = int(input())
aa =''
bb =''
if a%2 == 0:
    aa='even'
else:
    aa='odd'

if a>0:
    bb='+'
else:
    bb='-'
print(f'{aa}{bb}')
*
0 points
Submit
Clear form
Never submit passwords through Google Forms.
This content is neither created nor endorsed by Google. Report Abuse - Terms of Service - Privacy Policy