코딩의 기록

따라하며 배우는 파이썬과 데이터과학 5장 심화문제

모루우 2025. 1. 9. 14:31
728x90
반응형

1.

1)

for i in range(1, 101):
    if i % 2 != 0:
        print(i, end = " ")

2)

count = 1
while count <= 100:
    if count % 2 != 0:
        print(count,end = " ")
    count += 1

3)

for i in range(1, 101):
    if i % 2 == 0:
        print(i, end = " ")
count = 1
while count <= 100:
    if count % 2 == 0:
        print(count,end = " ")
    count += 1

 

2.

1)

sum = 0
for i in range(1, 101):
    if i % 2 != 0:
        sum += i

print("i에서 100까지의 수 중에서 홀수의 합:",sum)
sum = 0
count = 1
while count <= 100:
    if count % 2 != 0:
        sum += count

    count += 1

print("i에서 100까지의 수 중에서 홀수의 합:",sum)

 

2)

sum = 0
for i in range(1, 101):
    if i % 2 == 0:
        sum += i

print("i에서 100까지의 수 중에서 홀수의 합:",sum)
sum = 0
count = 1
while count <= 100:
    if count % 2 == 0:
        sum += count

    count += 1

print("i에서 100까지의 수 중에서 홀수의 합:",sum)

 

3)

sum = 0

start = int(input("시작 정수를 입력하시오: "))

end = int(input("끝 정수를 입력하시오: "))

for i in range(start, end + 1):
    sum += i

print(start, "에서", end, "까지 정수의 합:", sum)

 

3.

print("맛나 식당에 오신 것을 환영합니다. 메뉴는 다음과 같습니다.")
print("1) 햄버거 \n","2) 치킨\n","3) 피자", sep = "")

num = int(input("1에서 3까지의 메뉴를 선택하세요 : "))

while True:
    if 0 > num or 3 < num:
        num = int(input("메뉴를 다시 입력하세요: "))
    else:
        break;

if num == 1:
    print("햄버거를 선택하셨습니다.")

elif num == 2:
    print("치킨을 선택하셨습니다.")

else:
    print("피자를 선택하셨습니다.")

 

4.

num = int(input("숫자를 입력하세요 : "))

for i in range(num):
    for j in range(num - i - 1):
        print(" ", end = "")
    for k in range(i + 1):
        print("*", end = "")
    print(i)

이게 print 자체가 이미 \n(줄바꿈)을 포함하고 있고 이게 처음에도 별을 하나 출력해야 하기 때문에 num 에서 1을 빼주고 i에선 1을 추가해줘야 함

 

5.

h = 0
days = 1

while True:
    h += 7

    print("day: {0:2d}".format(days), "달팽이의 위치:", h, "미터")

    if h > 30:
        break;

    days += 1
    h += -5

print("축하합니다. 우물을 탈출하였습니다.")
print("우물을 탈출하는 데 걸린 날은", days,"일 입니다.")

 

6.

fuel = 500

while fuel >= 50:
    choice = int(input("충전 또는 사용한 연료를 +/- 기호와 함께 입력하시오: "))
    fuel += choice
    print("현재 연료량은", fuel ,"입니다.")

print("경고 : 연료가 10% 미만이니 충전하세요!")

 

7.

print("세 자리의 암스트롱 수 :", end = "")

for i in range(100, 1000):
    x = i // 100
    y = i % 100 // 10
    z = i % 10

    if (x ** 3 + y ** 3 + z ** 3) == i:
        print(i, end = " ")

//가 소수점 버리는 나누기 연산자

 

8.

btn = 0

while True:
    btn = 0
    user = input("정수를 입력하시오: ")

    if user == "-99":
        break;
    else:
        for i in range(len(user)):
            if user[i] != user[len(user) - i -1]:
                print(user, "은(는) 거꾸로 정수가 아닙니다.")
                btn = 1
                break;
        if btn == 0:
            print(user, "은(는) 거꾸로 정수입니다.")

print("프로그램을 종료합니다.")

처음에 뭐 나누고 343은 거꾸로 수가 아니고 별 이상한 짓을 다했는데 생각해보니까 그냥 문자열 자체를 비교하면 됐었다

그리고 나는 하나하나씩 비교한 다음에 야매로 그냥 버튼을 만들어줘서 1이면 밑에 문자열을 출력을 안하도록 만들었는데 사실은

https://goodthings4me.tistory.com/entry/%EC%95%94%EC%8A%A4%ED%8A%B8%EB%A1%B1-%EC%88%98-%EA%B1%B0%EA%BE%B8%EB%A1%9C-%EC%A0%95%EC%88%98-%EB%93%B1-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88-%EC%98%88%EC%A0%9C

 

암스트롱 수, 거꾸로 정수 등 [파이썬 기초 예제]

네이버 지식에 질문으로 올라왔던 문제. 파이썬으로 암스트롱 수, 거꾸로 정수, 1부터 100까지의 짝수 합, 두 정수 사이의 합 등을 구하는 코딩 연습문제 풀이 암스트롱 수, 거꾸로 정수 등 [암스

goodthings4me.tistory.com

문자열을 잘라서 할 수도 있는 일이었다

 

https://blockdmask.tistory.com/581

 

[python] 파이썬 문자열 뒤집기, 거꾸로 출력 하기 3가지 방법

안녕하세요. BlockDMask입니다. 오늘은 파이썬에서 문자열을 뒤집을 수 있는 세 가지 방법에 대해서 알아보려고 합니다. 문자열을 뒤집어서 출력한다거나, 기존 문자열을 거꾸로 돌려서 뒤에서부

blockdmask.tistory.com

문자열을 거꾸로 슬라이스 해주면 될 일

 

9.

min = 0
max = 0
count = 0

while True:
    num = int(input("정수를 입력하시오 : "))

    if num == -99:
        break;
    elif count == 0:
        min = num
        max = num
    elif count != 0:
        if min > num:
            min = num
        elif max < num:
            max = num
            
    count += 1


print(count,"개의 유효한 정수 중 가장 큰 정수는 ", max," 이고, 가장 작은 정수는 ", min, " 입니다.", sep = "")

 

10.

import random
import turtle

t = turtle.Turtle()
t.shape("turtle")

for i in range(30):
    ch = random.randrange(2)

    if ch == 0:
        t.left(90)
        t.forward(50)

    else:
        t.right(90)
        t.forward(50)

turtle.done()
import random
import turtle

count = 0
t = turtle.Turtle()
t.shape("turtle")

while count < 30:
    ch = random.randrange(2)

    if ch == 0:
        t.left(90)
        t.forward(50)

    else:
        t.right(90)
        t.forward(50)

count += 1

turtle.done()
728x90
반응형