Python-データ構造の問題

21454 ワード

ListQ1. 1からユーザーが入力した数字までの小数と小数をそれぞれリストに格納して出力します!

n = int(input("1보다 큰 정수 입력: "))

divisor = []
prime = []

for i in range(1, n + 1):
    if n == 1:
        divisor.append(i)
    else:
        if n % i == 0:
            divisor.append(i)

for i in range(2, n + 1):
    flag = True
    for j in range(2, i):
        if i % j == 0:
            flag = False
            break
    if flag:
        prime.append(i)

print(prime)
print(divisor)

ListQ2. 1~100の間に10個の整数を作成し、プログラムを作成してリストに格納し、各整数を出力します。

import random

randomlist = random.sample(range(1, 101), 10)
evens = []
odds = []

for n in randomlist:
    if n % 2 == 0:
        evens.append(n)
    else:
        odds.append(n)

print(f'짝수 : {evens} 크기 : {len(evens)}')
print(f'홀수 : {odds} 크기 : {len(odds)}')

ListQ3.


visitors=[]
for n in range(100):
    visitors.append(random.randint(1, 100))

total = 0

for n in visitors:
    if n >= 0 and n <= 7:
        continue
    elif n >= 8 and n <= 13:
        total += 200
    elif n >= 14 and n <= 19:
        total += 300
    elif n >= 20 and n <= 64:
        total += 500

print(visitors)
print(total)

ListQ4. 4つの数字の中から2つの異なる数字を選択し、作成できるすべての数字を出力します。

# permutation 개념
import random
numbers = []

for n in range(4):
    numbers.append(random.randint(1, 4))

result = []
for first in numbers:
    for second in numbers:
        if first == second:
            continue
        else:
            result.append([first, second])

print(numbers)
print(result)

TupleQ1. 次のトフルの果物の数を昇順と降順に並べ替えます。


fruits = ({'수박': 8}, {'포도': 13}, {'참외': 12}, {'사과': 17}, {'자두': 19}, {'자몽': 15})

fruits = list(fruits)

cIdx = 0
nIdx = 1
eIdx = len(fruits) - 1

flag = True
while flag:
    curDic = fruits[cIdx]
    nextDic = fruits[nIdx]

    curDicCnt = list(curDic.values())[0]
    nextDicCnt = list(nextDic.values())[0]

    if nextDicCnt < curDicCnt:
        fruits.insert(cIdx, fruits.pop(nIdx))
        nIdx = cIdx + 1
        continue

    nIdx += 1
    if nIdx > eIdx:
        cIdx += 1
        nIdx = cIdx + 1

        if cIdx == 5:
            flag = False

print(fruits)
print(fruits[::-1])

DictionaryQ1. プログラムを作成し、各科目の点数をディックの辞書に保存し、印刷します。

subject = ['국어', '영어', '수학', '과학', '국사']
scores={}

for s in subject:
    score = input(s + ' 점수 입력: ')
    scores[s] = score

print(scores)

DictionaryQ2.

#삼각형부터 십각형까지의 내각의 합과 내각을 딕셔너리에 저장하는 프로그램을 만들어보자
dic = {}

for n in range(3, 11):
    hap = 180 * (n - 2)
    ang = int(hap/n)
    dic[n] = [hap, ang]

print(dic)

#1부터 10까지 각각의 정수에 대한 약수를 저장하는 딕셔너리를 만들고 출력하는 프로그램을 만들어보자

dic = {}
for n1 in range(2, 11):
    tempList = []
    for n2 in range(1, n1+1):
        if n1 % n2== 0:
            tempList.append(n2)
    dic[n1] = tempList

print(dict)