아니 자기가 강해져서 돌아왔대잖아요…
일단 이번에 시켜볼 것은 매우 간단한 코딩들… 뭐 import 할 수는 있겠지만 패키지 설치를 요하는 건 아닌, 그런 것들을 시켜볼거다. 참고로 오늘 제일 많이 본 거…
강해져서 돌아왔다며?
Hello, World! 출력하기
print("Hello, World!")
프로그래밍 책에서도 첫빠따로 나오는 헬로월드다. 따옴표는 “”도 되고 ”도 되는데 아무튼 저 코드 자체는 잘 됐음.
일차원 배열 만들기
반복문을 사용하지 않고 a = [1,2,3,4,5] 이런 식으로 직접 할당하는 배열 말하는거다.
my_list = [i for i in range(1, 6)]
print(my_list)
오 고급기술… 원래 의도했던 건 a = [1,2,3,4,5]였는데 이것도 일단 맞는 방법이다. 컴프리헨션에 익숙해지면 이게 훨씬 더 편하기도 하고.
그럼 위에 있는 리스트 컴프리헨션을 조금 응용해보자. 이번에는 리스트 컴프리헨션으로 1부터 20까지의 수 중 소수만 배열에 소(별)장 해보도록 했다.
prime_list = [num for num in range(2, 21) if all(num % i != 0 for i in range(2, num))]
print(prime_list)
def로 따로 함수를 밖에서 정의하는 방식이 아니라 안에서 걍 함수까지 정의해버렸다. 예전에 본인이 예시로 했던 건
def isprime(a):
sqrt = int(a ** 0.5)
if a <= 1:
return False
for i in range(2,sqrt+1):
if a % i == 0:
return False
else:
return True
# a == 1을 a <= 1로 바꿨다.
a = [i for i in range(100) if isprime(i)]
print(a)
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
이런 식이었다. isprime이 소수 판별 함수이고 밖에서 정의를 해서 안에 굳이 정의 안했음.
반복문(for&While)
여기서는 더 재볼 것도 없이 2^1~2^10을 반복문을 이용해서 배열로 만들어 볼 예정이다. for랑 while 둘 다.
근데 내 질문에 뭐 문제 있나?
my_list = []
for i in range(1, 11):
my_list.append(2 ** i)
print(my_list)
for는 여부터 여까지 반복하슈라는 반복문이라 걍 이렇게 하면 2부터 1024까지 등비수열로 나온다. 그냥 배열로 만들어달라고 했을 때는 리스트 컴프리헨션을 썼었는데 지금은 내가 for문으로 해달라고 주문한 것임.
my_list = []
i = 1
while i <= 10:
my_list.append(2 ** i)
i += 1
print(my_list)
while문은 for문과 달리 어떤 조건을 만족할때까지 뺑뺑이를 도는거라고 보면 된다. 그리고 ChatGPT는 for와 while의 맥락이 서로 다른것도 이해하고 있었다. 근데 에러 슈밤…
그럼 마지막으로 while True:를 출동시켜봅시다. 에러 몇번뜨나 봐야지
my_list = []
i = 1
while True:
my_list.append(2 ** i)
i += 1
if i > 10:
break
print(my_list)
와일트루에 콜론 다니까 에러뜨는거 실화냐… 5트만에 성공함 ㅋㅋㅋㅋㅋㅋ 아무튼… 아일트루는 무한뺑뺑이라 특정 조건을 만족하면 나가게끔 조건을 정해줘야 한다. 일단 세가지 코드는 다 이상 무.
입력 받기
입력 받고 문구 출력만 하면 땡인데, 파이썬에는 방법이 두 가지 있다. 바로 input()과 sys.stdin.readline(). 과연 ChatGPT는 import sys를 할 수 있을 것인가? (sys.stdin.readline() 하려면 필요함)
일단 결론부터 말하자면 못했다. 자꾸 에러가 뜨더니 접속이 아예 안되는데 서버가 터진건지;;
총평
일단 밥이 걸려있으니 저녁에 후속 질문할 것을 정리해보자면
- 위에 4번
- 2차원 배열 만들기
- 함수 정의하기
- 별찍기
이정도..
전에 ChatGPT vs Bing에서도 얘기했듯이 기본적으로 얘는 한글로 입력하면 느려진다. 근데 에러까지 떠서 실질적으로 걸리는 시간이 훨배 느려졌다. 심지어 이거 되게 기초적인 부분이라 구글링 하거나 책 찾아보고 해도 기본적인 응답 시간에 비해 빠르고 어느정도 백그라운드가 있다면 물어볼 시간에 직접 코딩하는 편이 더 빠르다. 배우는 입장에서 궁금해서 코딩 맡겨보는거면 몰라도 업무때문에 그러는거면 걍 구글링 하던가 수제로 코딩하자. 에러 자체는 ChatGPT의 문제라기보단 서버 문제로 보인다. (인공지능은 서버든 본인 컴퓨터든 어따 모셔놓고 쓴다)
Reply