-
CS50 Week6: Problem Set, MarioProgramming/CS50 2023. 7. 18. 23:33
하버드 CS50 강의 6주차 Problem Set 과제 Mario 의 풀이를 다룹니다.
C언어로 작성했던 간단한 프로그램을 Python으로 다시 작성해보는 과제입니다.Task
이전에 C로 구현한 과제를 이번엔 python으로 똑같이 구현하면 된다.
Code
while True: height = int(input("Height: ")) if height > 0: break for i in range(1, height + 1): print(f"{'#' * i: >{height}}" + " " + f"{'#' * i: <{height}}")
파이썬의 f-string이 엄청 강력해서 훨씬 간단하게 구현할 수 있다.
f"{value: format}"
형식으로 쓰면 된다.>
<
는 정렬을 의미한다.C 코드 (비교용)
#include <stdio.h> #include "cs50.h" int main(void) { // Get height from user int height; do { height = get_int("Height: "); } while (height < 1 || height > 8); // Print pyramid for (int i = 1; i <= height; i++) { // width: height, precision: i printf("%*.*s", height, i, "########"); // Left half-pyramid printf(" "); // Gap between pyramids printf("%.*s", i, "########"); // Right half-pyramid printf("\n"); } }