Skip to content

Instantly share code, notes, and snippets.

View COCOLMAN's full-sized avatar
🐱

sol COCOLMAN

🐱
  • korea
View GitHub Profile

제한시간 1시간

산 그리기

텍스트로 그림그리기에 도전하고 있습니다. 이때 배경에 등장하는 산에 에너지를 너무 쏟고 싶지 않아, 자동화된 프로그램을 만드려고 합니다.

입력값으로 왼쪽부터 오른쪽까지 산의 능선이 상승하는지, 하락하는지 값을 str형태로 받으려고 합니다.

__name__ 란

파이썬에서 함수, 클래스, 모듈 객체등은 __name__이라는 특별한 속성을 가지고 있습니다.

__name__은 초기 생성할때 변수 대입을 통해 생성하지 않는 객체라는 공통점이 있습니다.

객체를 생성해서 변수에 대입하는 경우를 보면 다음과 같습니다.

>>> a = 3 # 숫자 3의 int객체를 생성합니다. 생성한 뒤에 변수 a에 대입시킵니다.
>>> a.__name__
a = [1, 1, 2, 3, 5, 8, 10]

리스트를 인덱싱할때 인덱싱 안에 표현식이 우선 계산됩니다.

따라서 다음과 같은 계산식도 쓸수ㅡ있습니다.

파이썬에서 모든것은 객체입니다.

파이썬에서 모듈내에 함수와 클래스내의 함수는 동일한 함수 객체입니다. 차이점이라고는 전혀 없습니다.

def func():
    pass

메소드와 스페셜 메소드의 차이

메소드는 사용자가(코드를 작성하는) 사용하는 메소드 스페셜메소드는 파이썬이 사용하는 메소드

라고 생각하시면 됩니다.

메소드같은 경우 코드를 작성하는 사람이 원하는 로직을 원하는 이름의 메소드로 선언해서

self가 필요한이유

메소드와 속성값

class는 하나 이상의 인스턴스를 만들기 위해 생성됩니다.

하나의 class로 만들어진 인스턴스는 공통의 기능(function / method)을 가지고 공통의 속성값들고 가지게 됩니다.

import random

n = random.randint(0,100) 

while True:
    moon = float(input("정답을 맞춰 보세요>>>>"))
    guess = abs(n - moon) # abs함수를 이용하여 정답과 추측갑의 차이를 양수로 얻습니다.
    if moon == n:
 print("축하 합니다. 정답입니다.")

print함수는 여러값을 출력할때 기본으로 한칸 띄어씁니다.

print함수는 help함수를 이용해서 확인해보면 다음과 같이 나옵니다.

>>> help(print)
Help on built-in function print in module builtins:

print(...)
 print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
아마 의도하신 코드는 다음과 같을거 같습니다.
```
my_info=[['이름','정홍두'],['나라','한국']]
dic={}
for el in my_info:
dic[el[0]] = el[1] # '이름'이라는 key값에 '정홍두'라는 값 넣기, '나라'라는 key값에 '한국'이라는 value값 넣기
```

언패킹 개념입니다.

a = [int(s) for s in input().split()]
for i in range(0, len(a) - 1, 2):
    a[i], a[i + 1] = a[i + 1], a[i]
print(a)
print(*a)