질문 몇개만 여쭤보겠습니다! 1. input으로 두개의 값을 한번에 입력받을 경우에 무조건 뒤에 split 을 써주어야하나ㅏ요? 2. 만약 두개의 값을 입력받고 int로 바꿔주고 싶으면 따로 써줘야하나요? ex)width, length = input("width , length = ").split(" ") width= int(width) length= int(length)
6번 문제 질문이요. 저는 c=a a=b b=c 이렇게 했는데요, 밑에 질문들을 보니 a=c, 혹은 b=c로 시작하는 분들이 오류가 뜨는 이유는 a랑 b는 뭐라고 선언이 되어 있는데, c는 선언이 되지 않았기 때문인가요? 그럼 a="천재" 랑 "천재"=a가 다른 건가요? 선언을 할 식별자가 반드시 앞에 와야 하기 때문에 a=c가 아닌 c=a가 되어야 하는 건가요? (a랑 b는 이미 할당 되어 있으니까) 강의 잘 보고 있습니다!
안녕하세요 강의 잘 보았습니다 질문사항이 있는데요! 문제풀이 중 float 함수를 써서 10을 입력하였을 때 결과가 10.0 으로 나오던데 float 함수를 쓰면 정수를 입력해도 부동소수점으로 결과가 나오는 것인가요? 그리고 만약 그렇다면 꼭 그 형태는 xx.0 으로 점 뒤에 0이 하나만 붙은 형태로 나오는건가요?
float 자체가 강제적으로 부동소수점으로 변환하는 함수이므로 부동소수점으로 변환됩니다! 그냥 10으로 보여주면 개발자가 해당 자료형이 현재 무슨 자료형인지 알기 힘들기 때문에 부동소수점이라는걸 확실하게 보여주기 위해서 소수점 아래에 아무 것도 없어도 10.0이라고 .0을 찍어서 보여주는 것입니다!
안녕하세요 혹시 6번 문제 스왑과정에서 a = input("문자열 입력> ") b = input("문자열 입력> ") print(a, b) b = c a = b c = a print(a, b) 가운데 들어가는 부분을 저렇게 해도 크게 달라보이지 않는데 출력값이 왜 첫번째꺼만 나오고 종료되는건지 여쭤봐도 될까요?
전체 코드를 올려주시고 + 어떤 것을 예상했는데 어떻게 나와서 이상하다를 조금 더 자세히 써주실 수 있을까요? 현재 설명만으로는 어떻게 했는지 이해가 조금 안 되어서요! 바꾸는 코드 없이는 바뀔 수 없습니다 저장을 안 하고 실행해서 이전 코드가 실행된 것이 아닌지 등등 다양하게 확인해보세요!
안녕하세요 제가 생초보다 보니 조금 어이없으실 수 있으시나 잘 이해하고 있는지 확인좀 가능하실까요? 알려주신걸 바탕으로 승률 계산하는 코드를 작성을 했는데 a = input ("승리횟수") b = input ("패배횟수") c = float(a) d = float(b) print() print("승률: ", c / (c+d) * 100,"%") c = float (a)
질문 있습니다! 비주얼 스튜디오 코드로 파이썬 공부중입니다. 그런데 터미널에서 어떨때는 Python으로, 어떨때는 Powershell로 실행이 됩니다. 그래서 간혹 pythonshell이 열려있는 상태에서 powershell로 실행이 되다보니 충돌?때문이지 실행이 안되더라고요. 그래서 프롬프트에 exit()를 입력하거나 코드를 재시작하면 다시 정상적으로 됩니다. 그래서 이제 문제가 powershell을 쓸건지 python을 쓸건지인데 둘중에 뭐가 좋을까요? 추천 안하시는거는 터미널 아예 실행 안되게 막아버리게요. (막을 수있는지는 모르겠지만)
설정이 어떻게 되어 있는지 잘 모르겠지만 결국 powershell 같은 기본 셸에 명령어를 직접 입력해서 사용하므로 둘 다 써야합니다! [재생 버튼이나 단축키로 실행하고 계신 것 같기도한데 + 이건 어느 단계 넘어가면 잘 안써서 → 사용하지 않으시는걸 추천드립니다!][회사 취직해서 pycharm을 쓰는게 아닌 이상 + 일단 명령어 입력에 익숙해지는게 좋아서요!]
안녕하세요. 공부하던 중에 6번 문제가 이상하게 나와서 질문 드립니다. 제가 입력한 내용은 아래와 같습니다. a = input("문자열 입력>") b = input("문자열 입력>") print(a, b) c = b b = a a = b print(a, b) 그런데 출력되는 내용이 문자열 입력> 안녕하세요 문자열 입력> 아침입니다 안녕하세요 아침입니다 안녕하세요 안녕하세요 이렇게 뜨는데요. 왜 그런 걸까요?
a와 b에 있는 데이터를 c를 활용해서 교환하는 것인데, - c에 데이터를 저장만 해두고 - 활용하지 않으셨습니다! 이걸 기억하신 상태로 코드를 한 번 수정해보시면 좋을 것 같습니다! [답은 살짝 아래에] . . . . c = b b = a a = c # c에 있는 것을 a로 옮겼습니다!
안녕하세요! 혼공파로 파이썬을 시작한지 대충 일주일 좀 넘은 사람입니다. 파이썬 책을 고를 때 얼핏 봤는데 알고리즘도 알아야 한다는 글을 보게 되었습니다. 알고리즘을 아는게 도움이 되는 건지 아니면 필수인지 잘 모르겠습니다. 이 부분에 대해 어떻게 생각하시나요?? 우유와 홍차의 비유는 엄청나게 쏙쏙 잘 들어왔습니다. 좋은 예시로 알려 주셔서 감사드립니다! _ ! 좋은 주말 보내세요~~@_@
시간과 노력이라는 자원은 많이 투자할수록 좋다고 생각하고 + 최근에는 입사 지원 문제(또는 기업 내에서 평가 문제)들이라던지가 어려워지고 있어서 IT 기업 지원을 목표로 하신다면 필요하고 + 그냥 재미있는 편이라서 = 저는 하는걸 추천드립니다. 강의 중간에 조건문 부분에서 예와 함께 관련된 설명을 합니다 'ㅁ' ...! 강의 후반부에서는 실제로 해보시게 될거구요...! 다만 이게 시간과 노력이 보통 들어가는게 아니기는 해서 + 빠른 시간 내에 실적을 내야 한다던가 한다면 = 안 해도 큰 문제는 없습니다.
@@윤인성 가독성이 너무 떨어지게 글을 썼네요ㅜㅜ 예를들어 a=int(12.4212) print(a) 를 출력하면 a값이 12가 나오더라구요 그런데 a=input("값을 입력하시오") b=int(a) print(b) ---------------------------------------------------------------- 를 출력하고 a값에 12.4212를 넣으면 오류가 뜨던데 이유를 모르겠습니다..제일 상단 코드에서 보면 int함수가 실수를 정수로 바꿀 수 있는거 아닌가요???
마지막 문제를 풀떄, 빈칸에 b = input("문자열 입력>"), a = input("문자열 입력>) 이렇게 입력을해서, 위의 print(a,b) 를 입력할떄도 안녕하세요 ,반갑습니다 순서대로 입력해서 안녕하세요 반갑습니다 가 입력되게 하였고, 빈칸 아래의 print(a,b) 도 같은순서대로 안녕하세요 반갑습니다 라고 입력을 해서 반갑습니다 안녕하세요 이렇게 뒤바끼게 입력되는 형식으로 빈칸을 이런식으로 작성했는데, 이런 경우에는 input 을 2번 작성해야하니까 이건 출제자의 의도대로 풀지 않은 건가요 혹시?
안녕하세요. 강의 잘 보고 있습니다. 강의를 듣고 문제를 풀던 도중 이상하지만(?) 조금 궁금한 내용이 생겨 댓글을 달게 되었습니다. 확인문제 6번에 스왑하는 문제에서 스왑 후 출력을 ... print(a + b) 라는 형태로 진행하였는데요. 출력을 진행하면 'a내용입니다b내용입니다' 로 a와 b가 서로 붙어서 출력이 됩니다. 영상에서 설명해주신 것 처럼 ... print(a, b) 로 해결할 수 있긴 하지만 혹시 +연산자를 이용하더라도 띄워쓰기를 표현할 수 있는가하는 개인적인 궁금증에 질문을 올립니다.. (역으로 a, b도 띄워쓰기를 없앨 수 있는 방법이 있을까요?) 항상 좋은 강의 만들어주셔서 감사합니다.
a + ' ' + b로 하시면 중간에 띄어쓰기를 추가할 수 있습니다. print(a, b)에 띄어쓰기 없게 하는 것은 print(a, b, sep='')로 해주시면 됩니다. 두 번째 것의 경우 이후에 함수를 배워야 문법이 쉽게 이해가 되고 사실 잘 안 쓰이는 내용이니 무시하셔도 되고, 첫 번째 것은 꽤 많이 쓰이니 기억해두시면 좋습니다!
안녕하세요~ input 함수에 숫자를 입력하고 문자열을 int 함수로 변환시킨 후 복합 대입 연산자를 입력하였는데 실행되지 않습니다. input 함수는 비파괴적 함수라고 생각할 수 있을까요?? 아니면 제가 잘 못한걸까요? q = input("숫자입력>") print("입력된 숫자 :", q) print(type(int(q)), q) print(q += 10) File "0418error.py", line 5 print(q += 10) ^ SyntaxError: invalid syntax
파괴적 함수는 - 매개변수 또는 객체로서 A를 받고서 - A를 변경하는 함수입니다. input() 함수는 별도로 뭘 받는 것은 아니므로 파괴적 함수와 비파괴적 함수 구분을 할 수 있는 함수는 아닙니다. 현재 코드에서 문제가 있는 부분은 파이썬은 다른 프로그래밍 언어와 다르게 += 연산자를 다른 표현식 안에 쓸 수 없습니다. 따라서 해당 줄을 q += 10 print() 처럼 풀어주셔야 합니다. PS. 정확하게 표현하면 할당 연산자로 만들어지는 최종적인 기본 표현식이 다른 표현식의 일부로 사용될 수 없습니다. PS. 이게 코드를 보기 힘들게 만든다고 그런 것 같은데, 이것 때문에 코드를 귀찮게 작성해야 하는 경우도 많습니다 ㅠ_ㅜ
비주얼코드 터미널에서 python하고 파일명 작성했는데 C:\Users\도지(DOJI)\AppData\Local\Programs\Python\Python39\python.exe: can't open file 'C:\Users\?꾩?(DOJI)\aa1.py': [Errno 2] No such file or directory 이렇게 뜨고 코드 실행이 안되는데 뭐가 잘못된건가요????
현재 설치 과정 중에 언어 충돌 등이 발생해서[컴퓨터가 약간 이상하게 설치되거나 등등 했을 때 생깁니다], 한글 경로를 제대로 프로그램들이 반영하지 못해서 - 도지를 치니 - 변환이 이상해서 ?꾩?이라는 글자로 폴더를 읽으려는데 - ?꾩?이라는 폴더는 없으니 - 그런 폴더 or 디렉터리는 없다 라는 말을 출력하는 것입니다[사실 많은 개발 도구들이 영어만 신경써서 만들어서, 운영체제 문제가 아니라도 이후에 이런 메시지를 자주 볼 가능성이 있습니다][그래서 일반적으로 사용자 이름(현재 도지(doji))을 일반적으로 영어로만 만들어서 설치해야 개발을 할 때는 편리합니다]. 이런 경우에는 C:\ 아래에 영어 이름의 폴더를 만들고, 해당 폴더에서 작업해주세요!
안녕하세요 좋은 강의 감사합니다. 강의 내용중에 a에 변수를 선언하면 a = input("첫 번째 숫자를 입력해주세요") / print(a) / print(type(a)) 라고 하면 강의상에서는 ""가 있는 문자열이라고 뜨는데 저는 자꾸 int 라고 출력되서 일반 문자는 입력이 안된다고 하네요.. 이게 혹시 맥북 쓰는거랑 관련이 있나요?
int()로 강제로 변환하셨기 때문에 그렇습니다. 그냥 print(int(abc))해보시면 조금 더 명확하게 정수로 변환이 일어났다는걸 보실 수 있으실 것입니다. 또한 10을 곱하셨어도 변수에 다시 저장하는 등의 활동을 안 하셨으므로, 1.111을 입력하셨다면 abc는 그냥 계속 1.111입니다.
선생님 안녕하세요. 8:00 에서 str_input = input("숫자 입력> ") num_input = float(str_input) print() print(num_input, "inch") print((num_input, * 2.54), "cm") 했을때, 숫자 입력> 10 10.0 inch Traceback (most recent call last): File "hello.py", line 6, in print((num_input, * 2.54), "cm") TypeError: 'float' object is not iterable 위와 같이 출력되는데 어떤 오류인지 잘 몰라서 질문드립니다ㅠㅠ
친절한 강의 감사합니다. 256이라는 문자열을 정수로 변환하고 싶을 때 int함수는 '정수가 아닌 자료형'을 정수로 바꾸는 것이기 때문에 int("256")이라고 큰따옴표를 붙여야하고, 300이라는 정수를 문자열로 변환하고 싶을 때에는 '정수형'을 문자열로 변환하는 것이기 때문에 str(300)이라고 큰따옴표를 쓰면 안되는 건가요?
책을 보고 따라 하던 중에 이해가 잘 안되어 질문 드려 봅니다.83페이지의 예제... 소스 코드 int_convert.py 제가 따라해도 에러가 나고, 홈피의 예제소스 파일을 복사해서 다시 해봐도 에러가 납니다. 입력A>273 Traceback (most recent call last): File "int_convert.py", line 2, in int_a=int(string_a) ValueError : invalid literal for int() with base 10: " 이렇게 나오는데 어디 부분을 다시 봐야 하나요?(줄 맞춰서 질문 올려도 왜 다 흐트러지는지 원......)
1-2번째 줄 사이에 print(string_a)를 넣어서 어떤 것이 출력되는지 확인해주실 수 있을까요? 해당 오류는 int() 함수로 읽어들일 수 없는 숫자를 입력했을 때 발생하는 오류입니다. "273"만 입력하면 무리 없이 될 것 같은데, 혹시 "입력A>273" 전체를 입력하신 것이 아닐까 하여 추가 문의 드립니다.
책 예제 2번째, 5번째 라인의 string_a 와 string_b의 값을 각각 273과 52로 입력하니 문자열 자료값만 나오지 않고 책의 실행 결과 처럼 나옵니다.책의 결과 값인 문자열 자료 : 27352 를 나오게 하려면 어디를 손봐야 될까요?결국 7번째 라인 print("문자열 자료:", str(273)+str(52)) 이렇게 만들어야 되는건지요? 아님 다른 방법이 있는지요?
장현우 직접적으로 string_a와 string_b의 값을 52, 273으로 지정하라는 의미가 아닙니다 @_@, print(string_a)와 print(string_b)로 출력해서, 어떠한 결과만 나오는지 확인하시라는 의미입니다. int(string_a)로 대체 어떤 string_a가 들어가길래, Value Error가 나는지 확인해주세요(input() 함수가 실행되어, 터미널에서 값을 입력했을 때에 어떠한 값이 들어갔는지를 확인하라는 의미입니다). 물론 지금 써주신대로 하시면 당연히 실행은 되는데, 근본적으로 해결하고 넘어가는 것은 아니니 꼭 확인해주세요...!
a= input(“첫 번째 수를 입력해주세요”) a= float(a)가 float(input(“첫 번째 수를 입력해주세요”)를 의미한다는 것과 num+=num이라는 것이 가능하다는 것을 보고 파이썬의 코드는 수학의 연산체계와 다르다는 것을 알았습니다. 수학에서는 a=/=a+10이니까요. 즉 파이썬은 한 줄 한 줄씩 처리할 때 최종적인 결과만을 받아들인다는 것이라고 이해했습니다. 적어도 변수를 정의할 때는요! 그런데 스왑 과정에서 이해가 안 되는 부분이 있습니다. print(a,b)-> a->b를 print(a, b)-> b, a로 바꾸기 위해서 a=b b=c a=c를 하는 과정이 이해가 가지 않습니다. 왜냐하면 a=b이고 다음에 b=c를 하게 된다면 b=c라고 재정의가 되기 때문에 b=c이고 c=b입니다. 그럼 여기서 이미 a=b라는 정보는 없어지는 것 아닌가요?? 이어서 진행하면 c=a라고 c가 다시 정의되었기 때문에 a=c이고 c=a입니다. 따라서 b=c라는 것은 사라지지 않나요?? 혹시 처음에 a=b, b=c라고 하면 b=c, c=a, a=b이지만 a=/=c 인가요?
선생님 너무 감사합니다^^ 많은 질문을 해서 너무 죄송합니다만 혹시 선생님처럼 터미널에 바로바로코드를 실행하는 방법이 어떻게 될까요? 저는 처음에 알려주신대로 shift 오른쪽키로powershell 해서 실행하는데 그렇게 되면 폴더에 너무 많이 쌓이게 되고 너무 번거로워서요..
@@이동건-q1u 그림을 1개 그리고 싶으면 도화지 1개가 필요하고, 그림 10개를 그리고 싶으면 도화지 10개가 필요한 것처럼, 프로그램을 계속 만들면 파일이 많아질 수 밖에 없습니다. 강의에서는 그냥 파일 하나를 입력하고 지우고 입력하고 지우고(도화지를 그냥 지우개로 밀어버리고 다시 그리고 밀어버리고 다시 그리고 하는 것처럼)하고 있어서 파일 1-2개로 전체 예제를 진행하고 있습니다. 공부할 때는 "어제 뭘 했었지" 등을 생각해볼 수 있게, 날짜와 제목을 적어서 파일 여러 개 만들어보시는 것을 추천합니다(이전에 그린 그림들 살펴보며 스스로 피드백 할 수 있듯이 파일들이 하나의 기록이 되어 피드백 할 수 있게 해줍니다).
c라는 변수가 정의되지 않았기 때문입니다(현재 오류가 나타내는 것). 기존의 코드는 - 우유와 홍차가 들은 컵을 두고 - 컵을 하나 더 가져와서 - 그 컵에 우유 따르고(13:00의 c = b) - 이제 빈 컵에 홍차 따르고(b = a) - 새로 가져왔던 컵의 것을 다시 옮기는(a = c) 것인데 a = c는 아무 것도 안 들은 컵(c)의 것을 다른 곳에 옮기려고 하니 오류가 발생하는 것입니다.
선생님! 늘 강의 재밌게 보고 있습니다~!^^ a=input("첫 번째 수입력: ") b=input("두 번째 수입력: ") print(a) print(b) 와 같은 결과를 내고 싶습니다. 기존 강의에서 배웠던 방법도 사용해보고 싶어서, print 함수 안에 쓰는 이나 """ 를 사용하는 방법을 적용해보려고 했는데, 은 아마도 a와 b와 섞여서 사용되면서 print(a b)와 같은 형태가 되서 오류가 납니다. 'ㅁ';; 그리고 """ 방법은 print("""a b""") 로 입력했는데, input으로 받은 값을 보여주지 않고 그냥 a와 b가 줄바꿈이 되어 출력되버리네요..!! input으로 받은 값을 줄을 바꿔서 표현하되, print 함수를 한번만 써서 표현하는 방법은 없을까요? 특히나, 기존 강의에서 배운 과 """를 사용해서 쓸 수 있는 방법은 없을까요?
Sumi lee 문자열 안에 들어 있는 값은 모두 그냥 문자열입니다. 따라서 "a b"는 그냥 "a b"라는 문자열입니다. 현재 배운 범위에서는 지금 말씀하신걸 구현한다면 print(a + " " + b)하면 됩니다. 이후의 format() 함수 관련 부분을 보고 나시면 더 다양하게 출력하실 수 있을 것입니다.
안녕하세요! 좋은 강의 덕에 파이썬 공부를 수월하게 하고 있습니다. 질문이 하나 있는데요, 90페이지 5번 문제를 풀던 중 하나의 변수로 해당 문제를 풀어보고 싶어져서 여러 시도를 해본 결과 r=input("원의 반지름 입력>>") float(r) 은 가능하고, r=float(input("원의 반지름 입력>>")) 또한 가능한데, float(r=input("원의 반지름 입력>>")) 은 불가능한 이유를 알고 싶습니다. 어떤 점이 오류를 발생하게 하는 건가요?
C 언어 기반의 프로그래밍 언어에서 진입하신 분들이 자주 실수하는 부분인데요. 기본적으로 C 언어 기반의 프로그래밍 언어는 대입 연산자(=)가 값을 리턴합니다. 따라서 지금 주신 코드처럼 대입 후의 값을 활용할 수 있습니다. . 하지만 파이썬의 대입 연산자는 값을 리턴하지 않습니다. ["= 연산자는 표현식을 만들지 않는다"라고 표현합니다] . 따라서 r = input("ㅇㅇ")은 아무런 값을 내지 않아서 float() 함수의 매개변수로 넣을 수 없습니다. . "하나의 문법은 하나의 기능만한다"라는 것이 파이썬의 이념이라고 해서 문법이 이렇게 설계된 것인데요. . 논란이 조금 많았지만 파이썬 3.8버전부터 바다 코끼리 연산자[:=]가 추가되었습니다. [:=를 돌리면 바다사자 눈과 이빨처럼 생겼다고 해서 Walrus 연산자라고 부릅니다] . 이건 값을 리턴합니다. 그래서 지금 주신 예제를 := 로 변경하면 정상적으로 동작합니다! 오늘 올린 ruclips.net/video/JnOVAnP9nmM/видео.html 강의도 참고해보세요!
@@way4720 앗 아뇨아뇨! 표현식은 당연히 넣을 수 있고 "할당 연산이 표현식(값)을 만들어내지 않아서 넣을 수 없는 것"입니다![매개변수라는건 값을 넣어야 하는데 아무 것도 아닌걸 넣어서 오류] 리턴은 값을 만들어내는 것이라 생각하면 되고 할당은 = 연산자로 변수에 값을 넣는 것입니다!
질 좋은 강의 감사드립니다...!
앗 강의를 새로 보신다면
→ 업로드 하고 있는 개정판 강의를 보는걸 추천드립니다!!
홍차 우유 비유 너무 좋아요ㅠㅠ 감사합니다
홍차와 우유 설명하실 때 정말 감탄했습니다!!! 코딩을 처음 배울 때 변수 교체 부분을 말로만 설명하고 넘어가면 헷갈리는 경우가 많은데 이해를 돕기 위해 예시까지 들어주시다니…좋은 강의 감사합니다:)
질문 몇개만 여쭤보겠습니다!
1. input으로 두개의 값을 한번에 입력받을 경우에 무조건 뒤에 split 을 써주어야하나ㅏ요?
2. 만약 두개의 값을 입력받고 int로 바꿔주고 싶으면 따로 써줘야하나요?
ex)width, length = input("width , length = ").split(" ")
width= int(width)
length= int(length)
width, length = int(input("width , length = "))
print(length*2)
print(width*2)
이렇게 했는데 오류가 떠서 질문드려요 ㅜㅜ
입력을 10 20처럼 띄어쓰기로 구분했다면
당연히 split을 써주셔야 합니다.
이건 입력따라서 달라집니다.
.
2개를 정수로 바꾸고 싶으면
당연히 int()를 2번 사용해주셔야 합니다!
6번 문제 질문이요.
저는
c=a
a=b
b=c
이렇게 했는데요, 밑에 질문들을 보니 a=c, 혹은 b=c로 시작하는 분들이 오류가 뜨는 이유는
a랑 b는 뭐라고 선언이 되어 있는데, c는 선언이 되지 않았기 때문인가요?
그럼
a="천재"
랑
"천재"=a가
다른 건가요? 선언을 할 식별자가 반드시 앞에 와야 하기 때문에
a=c가 아닌 c=a가 되어야 하는 건가요? (a랑 b는 이미 할당 되어 있으니까)
강의 잘 보고 있습니다!
할당 연산자는 "오른쪽의 것을 왼쪽에 넣는 연산자"입니다. 따라서 좌우가 바뀌면 완전히 다른 의미가 됩니다!
@@윤인성 감사합니다! 강의 정말 잘 보고 있어요!
와 마지막 별도의 컵 설명은 진짜...말이 안나오네요!!감솨합니닷!!!!
안녕하세요 강의 잘 보았습니다
질문사항이 있는데요!
문제풀이 중 float 함수를 써서 10을 입력하였을 때 결과가 10.0 으로 나오던데
float 함수를 쓰면 정수를 입력해도 부동소수점으로 결과가 나오는 것인가요?
그리고 만약 그렇다면 꼭 그 형태는 xx.0 으로 점 뒤에 0이 하나만 붙은 형태로 나오는건가요?
float 자체가 강제적으로 부동소수점으로 변환하는 함수이므로
부동소수점으로 변환됩니다!
그냥 10으로 보여주면
개발자가 해당 자료형이 현재 무슨 자료형인지 알기 힘들기 때문에
부동소수점이라는걸 확실하게 보여주기 위해서
소수점 아래에 아무 것도 없어도 10.0이라고 .0을 찍어서 보여주는 것입니다!
@@윤인성 고맙습니다
진짜 이해를 돕기 위해서 엄청 노력하시는 게 느껴집니다..ㅜㅜ 홍차 우유까지..준비하시는 과정이 떠올라서 더 감사하네요.
07:58 '숫자 입력> '이 무슨 코드 때문에 나올 수 있는지 궁금합니다. input을 통해 가능한 것은 알고 있는데 위의 두 줄은 그냥 이것을 이것이라 말하겠다는 선언문이지 않나요??
input() 함수의 기능이 그렇습니다.
@@윤인성 아 그렇군요 감사합니다😊
p.89 연습문제 4번 질문있습니다!
1))
str_input = input("숫자 입력>")
num_input = float(str_input)
print()
print(num_input, "inch")
print((num_input * 2.54), "cm")
강의에서와 같이 입력을하고 실행을 했는데
SyntaxError : invalid syntax 에러가 뜨네요..
파이썬3 맥북에서 작업하고 있는데 관련이 있는걸까요?? ㅠ 도와주세요
2))
그리고 print() 하시는게 줄의 공백을 위해서 그냥 하시는걸까요??
1) 현재 주신 코드에는 오류가 따로 없습니다!
이전에 저장했던 내용이 실행되었던 것은 아닌지 확인해보며, 저장하고 다시 실행해보세요![자주 있는 실수입니다]
2) 넵 빈 줄 출력을 위해서 사용합니다!
@@윤인성 터미널을 다 지우고 다시 실행해보니까 되네요! 답글 정말 감사합니다!! 강의 너무 잘들어와요 ㅠ 다른 언어강의도 있었으면 좋겠습니다 정말로! 혹은 cs지식같은 거라도 있으면 엄청난 강의가 될거같아요!
와... 선생님 너무 재밌어요 최고 ㅠㅠ🙊❤️
안녕하세요 수업 듣고 있는 학생입니다. 강의 초반에 Input 부분에서 첫번째 숫자 100, 두번째 숫자100을 입력하면 100100이 나오고 밑에 ~12s가 뜨는데 ~12s는 무엇을 의미하나요??
저의 경우는 터미널 명령어에 "명령어 실행 시간"이 출력되게 설정했습니다. 실행하는데 12초 걸렸다는 의미입니다.
안녕하세요 혹시 6번 문제 스왑과정에서
a = input("문자열 입력> ")
b = input("문자열 입력> ")
print(a, b)
b = c
a = b
c = a
print(a, b)
가운데 들어가는 부분을 저렇게 해도 크게 달라보이지 않는데
출력값이 왜 첫번째꺼만 나오고 종료되는건지 여쭤봐도 될까요?
할당 연산자는 방향성이 있어서, 오른쪽의 것을 왼쪽에 할당합니다.
현재 코드에서는 b = c를 할 때,
c의 것을 b에 넣게 되는데
c라는 존재가 아직 없으므로, 오류가 발생해서 중지됩니다.!
Input 함수에 대해서 잘 이해가 안 가는데 input()의 매개변수로 미리 “숫자 입력>” 이라고 써져있는건, print 함수와 같은 방식으로 나오고,
input 함수를 실행한 이후에 입력하는 값을 문자 데이터로 바꿔서 출력 한다고 생각하면 될까요?
넵! 출력보다는 "해당 위치가 대체된다"[이후에 "리턴"이라는 표현으로 배웁니다]라고 생각하시면 좋을 것 같습니다![출력은 print() 함수의 역할입니다]
안녕하세요 혼자 책을 보고 공부하다가 질문이 생겨 댓글 남깁니다!! 교재 90페이지에 5번 핑크색 상자 안에 셋째 줄에 print()
라는 줄은 왜 있는건가요???
그냥 빈 줄을 하나 출력하려고 입력했습니다!
선생님 질문 남깁니다.
6번 문제에서
print(a, b)
b = c
a = b
c = a
print(a, b)
라고 하고 실행하면 오류가 뜨는데 왜 그런가요?
선생님이 하신 것과 어떤 점이 달라서 오류가 생기나요?
감사합니다.
혹시 전체 코드와 함께 어떤 오류가 뜨는지 복사해서 올려주실 수 있을까요!!
11:31 진짜 나같이 쌩초보자들 위한 정말 찰떡같은 강의
a = input("첫 번째 숫자를 입력해주세요> ")
b = input("두 번째 숫자를 입력해주세요> ")
print(a + b)에서 선생님께서는 터미널에 뭐가 나오는데 저는 안 나오네요.
이럴때는 어떻게 해야하나요?
저는 지금 윈도우 쓰고 있습니다.
파일을 저장하고 실행했는지 확인해주세요!
실행을 어떻게 하나요?
죄송합니다
강의에서처럼 python 명령어를 입력해서 실행하시면 됩니다!
@@윤인성 감사합니다
근데 c=b,b=a,a=c 과정 없이 해도 되나요? 따라서 해봤더니 순서가 안바뀌고 없이 했는데 제대로 나와서요..!
전체 코드를 올려주시고 + 어떤 것을 예상했는데 어떻게 나와서 이상하다를 조금 더 자세히 써주실 수 있을까요? 현재 설명만으로는 어떻게 했는지 이해가 조금 안 되어서요!
바꾸는 코드 없이는 바뀔 수 없습니다
저장을 안 하고 실행해서 이전 코드가 실행된 것이 아닌지 등등 다양하게 확인해보세요!
안녕하세요 책과 강의를 들으며 따라하다가
오늘부터 갑자기 터미널에서
>>>python input.py
File "" line 1
python input.py
SyntaxError:invalid syntax
라고 오류가뜨는데 무슨이유일까요?
어제까지 잘사용했었습니다.
Run Python File in Terminal로하면정상적으로실행됩니다
죄송하지만 원인및해결방법 알수있을까요?
python 명령어는 파이썬 인터랙티브 셸이 아닌 일반 셸 위에서만 입력할 수 있습니다.
앞이 >>> 가 아닌 곳에서 입력해주세요!
@@윤인성 정말 감사합니다!
안녕하세요 제가 생초보다 보니 조금 어이없으실 수 있으시나 잘 이해하고 있는지 확인좀 가능하실까요?
알려주신걸 바탕으로 승률 계산하는 코드를 작성을 했는데
a = input ("승리횟수")
b = input ("패배횟수")
c = float(a)
d = float(b)
print()
print("승률: ", c / (c+d) * 100,"%")
c = float (a)
넵 그렇게 개념을 잡아주시면 됩니다!
선생님의 매력에 푹 빠져버렸습니다..
질문 있습니다! 비주얼 스튜디오 코드로 파이썬 공부중입니다. 그런데 터미널에서 어떨때는 Python으로, 어떨때는 Powershell로 실행이 됩니다. 그래서 간혹 pythonshell이 열려있는 상태에서 powershell로 실행이 되다보니 충돌?때문이지 실행이 안되더라고요. 그래서 프롬프트에 exit()를 입력하거나 코드를 재시작하면 다시 정상적으로 됩니다.
그래서 이제 문제가 powershell을 쓸건지 python을 쓸건지인데 둘중에 뭐가 좋을까요? 추천 안하시는거는 터미널 아예 실행 안되게 막아버리게요. (막을 수있는지는 모르겠지만)
설정이 어떻게 되어 있는지 잘 모르겠지만
결국 powershell 같은 기본 셸에
명령어를 직접 입력해서 사용하므로
둘 다 써야합니다!
[재생 버튼이나 단축키로 실행하고 계신 것 같기도한데 + 이건 어느 단계 넘어가면 잘 안써서 → 사용하지 않으시는걸 추천드립니다!][회사 취직해서 pycharm을 쓰는게 아닌 이상 + 일단 명령어 입력에 익숙해지는게 좋아서요!]
재생버튼이랑 ctrl+f5를 사용했었습니다. 앞으로 강의 방식대로 하겠습니다. 그런데 선생님께서는 python ex01.py를 타닥 하면 나오시던데, 그것은 복사 붙여넣기를 하신건가요? 아니면 이전 실행 다시 하기 같은 단축키가 있는건가요?
죄송합니다. 2강에 질문 내용 있네요.
사진 예시 등 정성 들이시니 쏙쏙 들어오네요:) 진심 감사합니다.
출첵
90p 5번문제
print("넓이:", 3.14*num_input**2) 에서 제곱이 들어간 사칙연산 순서는 제곱이 먼저 계산되나요?
3.14*(num_input**2) 이렇게 안해도 되는 건가요.
강의 열심히 보고있습니다 감사합니다!
넵 제곱이 먼저됩니다!
구분이 약간 이상하다 싶으면 괄호를 넣으시는 것이 더 좋습니다!
@@윤인성 넵 감사합니다!!
안녕하세요. 공부하던 중에 6번 문제가 이상하게 나와서 질문 드립니다. 제가 입력한 내용은 아래와 같습니다.
a = input("문자열 입력>")
b = input("문자열 입력>")
print(a, b)
c = b
b = a
a = b
print(a, b)
그런데 출력되는 내용이
문자열 입력> 안녕하세요
문자열 입력> 아침입니다
안녕하세요 아침입니다
안녕하세요 안녕하세요
이렇게 뜨는데요. 왜 그런 걸까요?
a와 b에 있는 데이터를 c를 활용해서 교환하는 것인데,
- c에 데이터를 저장만 해두고
- 활용하지 않으셨습니다!
이걸 기억하신 상태로 코드를 한 번 수정해보시면 좋을 것 같습니다!
[답은 살짝 아래에]
.
.
.
.
c = b
b = a
a = c # c에 있는 것을 a로 옮겼습니다!
@@윤인성 아이코 한참을 들여다봤는데 이런 실수를...! 감사합니다. 덕분에 너무 쉽고 재미있게 공부하고 있습니다^^ 새해 복 많이 받으세요.
설명이 아주 훌륭하십니다^^ 감사드립니다! 쌤의 연작 동영상 강의는 앞으로도 훼손이 안되었으면 합니당!
책 너무 재밌게 잘보고 있어요~
안녕하세요! 혼공파로 파이썬을 시작한지 대충 일주일 좀 넘은 사람입니다.
파이썬 책을 고를 때 얼핏 봤는데 알고리즘도 알아야 한다는 글을 보게 되었습니다.
알고리즘을 아는게 도움이 되는 건지 아니면 필수인지 잘 모르겠습니다.
이 부분에 대해 어떻게 생각하시나요??
우유와 홍차의 비유는 엄청나게 쏙쏙 잘 들어왔습니다.
좋은 예시로 알려 주셔서 감사드립니다! _ !
좋은 주말 보내세요~~@_@
시간과 노력이라는 자원은 많이 투자할수록 좋다고 생각하고 + 최근에는 입사 지원 문제(또는 기업 내에서 평가 문제)들이라던지가 어려워지고 있어서 IT 기업 지원을 목표로 하신다면 필요하고 + 그냥 재미있는 편이라서 = 저는 하는걸 추천드립니다.
강의 중간에 조건문 부분에서 예와 함께 관련된 설명을 합니다 'ㅁ' ...! 강의 후반부에서는 실제로 해보시게 될거구요...!
다만 이게 시간과 노력이 보통 들어가는게 아니기는 해서 + 빠른 시간 내에 실적을 내야 한다던가 한다면 = 안 해도 큰 문제는 없습니다.
@@윤인성 주말에도 답글 달아주셔서 정말 감사합니다! 이왕 시작했으니 좀 더 노력하겠습니다~ 좋은 나날 보내세요:)
책보고 공부하는중 궁금한게 있어 질문을 남깁니다. int()
직접 입력하신 전체 코드를 알려주실 수 있을까요!
어떤 오류가 뜨는지도 알려주시면 좋습니다!
@@윤인성 가독성이 너무 떨어지게 글을 썼네요ㅜㅜ 예를들어
a=int(12.4212)
print(a)
를 출력하면 a값이 12가 나오더라구요 그런데
a=input("값을 입력하시오")
b=int(a)
print(b)
----------------------------------------------------------------
를 출력하고 a값에 12.4212를 넣으면 오류가 뜨던데 이유를 모르겠습니다..제일 상단 코드에서 보면 int함수가 실수를 정수로 바꿀 수 있는거 아닌가요???
오류는 책에 명시되어 있는것과 마찬가지로 valueerror: invalid literal for int() with base 10: '12.4212이 뜹니다.
@@이경수-h7f4v 실수를 정수로 바꿀 수 있는데,
"12.4212"는 문자열이라서 내부적으로 변환이 안 됩니다[이상하게 보일 수 있는데, 그냥 이상하게 설계된 것입니다...!][다른 프로그래밍 언어는 이런게 되는 경우도 있습니다].
아 그렇군요! 답변 정말 감사합니다!!
와
컵을 이용한 설명 최고입니다
감사합니다~컵 강의 -머리가 확 맑아집니다. ^
혹시 어떤 키보드 사용하시나요?
저는 그냥 mx keys라는 일반적인 키보드 쓰고 있습니다 'ㅁ' ...!
확인 문제 6번 혼자했을때는 계속 이상한 답이 나와서 어려웠는데 강의를 보니 한번에 이해 했어요!! 감사합니닷!!!
10강 이후부터는 반복 학습이 많이 필요한 것 같습니다. 강의 감사합니다!
감사합니다
마지막 문제를 풀떄, 빈칸에 b = input("문자열 입력>"), a = input("문자열 입력>) 이렇게 입력을해서, 위의 print(a,b) 를 입력할떄도 안녕하세요 ,반갑습니다 순서대로 입력해서 안녕하세요 반갑습니다
가 입력되게 하였고, 빈칸 아래의 print(a,b) 도 같은순서대로 안녕하세요 반갑습니다 라고 입력을 해서 반갑습니다 안녕하세요 이렇게 뒤바끼게 입력되는 형식으로 빈칸을 이런식으로 작성했는데, 이런 경우에는 input 을 2번 작성해야하니까 이건 출제자의 의도대로 풀지 않은 건가요 혹시?
넵!
입력은 한 번 받고 뒤바꾸어야 합니다!
학교 수업 때문에 부교재로 혼자 예습하고 있는데, 정말 퀄리티 높은 강의 무료로 올려주셔서 감사합니다! 이해하는데 막힘이 없네요
안녕하세요. 윤선생님.
리눅스의 터미널에서 python 한 뒤 input(">>") 하고 숫자를 입력하면 잘 출력이 되는데 문자를 입력하면 invalid syntax라고 에러를 띄우는데 왜 그런가요?
vscode에서는 잘만 실행되는데 이해가 안되네요 ㅠㅠ
입력하시는 전체 코드
예를 들어서
>>> input(">>")
입력입력
입력입력
등과 오류를 모두 싸그리 붙여서 넣어주실 수 있을까요?
추가로 python --version으로 버전 이름도 확인해주실 수 있을까요!
솔직히...저같은 초보자한텐 학원강의보다 훨씬 더 도움되는 강의입니다! ㅠㅠ 홍차랑 우유보고 깜짝놀랐어요 ㅎㅎ 항상 감사히 잘 보고있습니다~ 열심히할께여~ 😁
안녕하세요. 강의 잘 보고 있습니다.
강의를 듣고 문제를 풀던 도중 이상하지만(?) 조금 궁금한 내용이 생겨 댓글을 달게 되었습니다.
확인문제 6번에 스왑하는 문제에서 스왑 후 출력을
...
print(a + b)
라는 형태로 진행하였는데요.
출력을 진행하면 'a내용입니다b내용입니다'
로 a와 b가 서로 붙어서 출력이 됩니다.
영상에서 설명해주신 것 처럼
...
print(a, b)
로 해결할 수 있긴 하지만
혹시 +연산자를 이용하더라도 띄워쓰기를 표현할 수 있는가하는 개인적인 궁금증에 질문을 올립니다..
(역으로 a, b도 띄워쓰기를 없앨 수 있는 방법이 있을까요?)
항상 좋은 강의 만들어주셔서 감사합니다.
a + ' ' + b로 하시면 중간에 띄어쓰기를 추가할 수 있습니다. print(a, b)에 띄어쓰기 없게 하는 것은 print(a, b, sep='')로 해주시면 됩니다. 두 번째 것의 경우 이후에 함수를 배워야 문법이 쉽게 이해가 되고 사실 잘 안 쓰이는 내용이니 무시하셔도 되고, 첫 번째 것은 꽤 많이 쓰이니 기억해두시면 좋습니다!
@@윤인성 덕분에 궁금증이 잘 해결되었습니다. 주말임에도 빠르게 답변 달아주셔서 감사합니다!
안녕하세요~
input 함수에 숫자를 입력하고
문자열을 int 함수로 변환시킨 후
복합 대입 연산자를 입력하였는데
실행되지 않습니다.
input 함수는 비파괴적 함수라고 생각할 수 있을까요??
아니면 제가 잘 못한걸까요?
q = input("숫자입력>")
print("입력된 숫자 :", q)
print(type(int(q)), q)
print(q += 10)
File "0418error.py", line 5
print(q += 10)
^
SyntaxError: invalid syntax
파괴적 함수는
- 매개변수 또는 객체로서 A를 받고서
- A를 변경하는 함수입니다.
input() 함수는 별도로 뭘 받는 것은 아니므로 파괴적 함수와 비파괴적 함수 구분을 할 수 있는 함수는 아닙니다.
현재 코드에서 문제가 있는 부분은 파이썬은 다른 프로그래밍 언어와 다르게 += 연산자를 다른 표현식 안에 쓸 수 없습니다. 따라서 해당 줄을
q += 10
print()
처럼 풀어주셔야 합니다.
PS. 정확하게 표현하면 할당 연산자로 만들어지는 최종적인 기본 표현식이 다른 표현식의 일부로 사용될 수 없습니다.
PS. 이게 코드를 보기 힘들게 만든다고 그런 것 같은데, 이것 때문에 코드를 귀찮게 작성해야 하는 경우도 많습니다 ㅠ_ㅜ
비주얼코드 터미널에서 python하고 파일명 작성했는데 C:\Users\도지(DOJI)\AppData\Local\Programs\Python\Python39\python.exe: can't open file 'C:\Users\?꾩?(DOJI)\aa1.py': [Errno 2] No such file or directory 이렇게 뜨고 코드 실행이 안되는데 뭐가 잘못된건가요????
현재 설치 과정 중에 언어 충돌 등이 발생해서[컴퓨터가 약간 이상하게 설치되거나 등등 했을 때 생깁니다], 한글 경로를 제대로 프로그램들이 반영하지 못해서
- 도지를 치니
- 변환이 이상해서 ?꾩?이라는 글자로 폴더를 읽으려는데
- ?꾩?이라는 폴더는 없으니
- 그런 폴더 or 디렉터리는 없다
라는 말을 출력하는 것입니다[사실 많은 개발 도구들이 영어만 신경써서 만들어서, 운영체제 문제가 아니라도 이후에 이런 메시지를 자주 볼 가능성이 있습니다][그래서 일반적으로 사용자 이름(현재 도지(doji))을 일반적으로 영어로만 만들어서 설치해야 개발을 할 때는 편리합니다].
이런 경우에는 C:\ 아래에 영어 이름의 폴더를 만들고, 해당 폴더에서 작업해주세요!
안녕하세요 좋은 강의 감사합니다. 강의 내용중에 a에 변수를 선언하면 a = input("첫 번째 숫자를 입력해주세요") / print(a) / print(type(a)) 라고 하면 강의상에서는 ""가 있는 문자열이라고 뜨는데 저는 자꾸 int 라고 출력되서 일반 문자는 입력이 안된다고 하네요.. 이게 혹시 맥북 쓰는거랑 관련이 있나요?
맥북의 경우 python3 명령어로 코드를 실행해주셔야 합니다![그냥 python을 입력하면 2.X버전으로 실행됩니다].
@@윤인성답변 감사합니다.
선생님,
abc=float(input("what is this?"))
print(abc*10)
print(type(int(abc)))
이렇게 코드를 짜서 input에 1.111을 입력하고 출력시켜보았습니다.
1.111*10은 11.11로 floating point이므로 오류가 뜰것으로 예상했는데, 실제로 출력해보니 Integer type이라고 뜨네요..
이건 왜 이러는걸까요..?? 파이썬에선 integer과 floating point를 엄격하게 구분하지 않는건가요????
int()로 강제로 변환하셨기 때문에 그렇습니다. 그냥 print(int(abc))해보시면 조금 더 명확하게 정수로 변환이 일어났다는걸 보실 수 있으실 것입니다. 또한 10을 곱하셨어도 변수에 다시 저장하는 등의 활동을 안 하셨으므로, 1.111을 입력하셨다면 abc는 그냥 계속 1.111입니다.
선생님 안녕하세요. 8:00 에서
str_input = input("숫자 입력> ")
num_input = float(str_input)
print()
print(num_input, "inch")
print((num_input, * 2.54), "cm")
했을때,
숫자 입력> 10
10.0 inch
Traceback (most recent call last):
File "hello.py", line 6, in
print((num_input, * 2.54), "cm")
TypeError: 'float' object is not iterable
위와 같이 출력되는데 어떤 오류인지 잘 몰라서 질문드립니다ㅠㅠ
num_input, * 2.54
=> num_input * 2.54로 변경해주세요!
@@윤인성 와 쉼표를 못봤네요.. 감사합니다!
50대의 나이에 새로운 열정을 싹틔우고 있습니다. 감사합니다.
친절한 강의 감사합니다. 256이라는 문자열을 정수로 변환하고 싶을 때 int함수는 '정수가 아닌 자료형'을 정수로 바꾸는 것이기 때문에 int("256")이라고 큰따옴표를 붙여야하고, 300이라는 정수를 문자열로 변환하고 싶을 때에는 '정수형'을 문자열로 변환하는 것이기 때문에 str(300)이라고 큰따옴표를 쓰면 안되는 건가요?
넵 그렇습니다 'ㅁ' ...!
책을 보고 따라 하던 중에 이해가 잘 안되어 질문 드려 봅니다.83페이지의 예제... 소스 코드 int_convert.py 제가 따라해도 에러가 나고, 홈피의 예제소스 파일을 복사해서 다시 해봐도 에러가 납니다. 입력A>273 Traceback (most recent call last): File "int_convert.py", line 2, in int_a=int(string_a) ValueError : invalid literal for int() with base 10: " 이렇게 나오는데 어디 부분을 다시 봐야 하나요?(줄 맞춰서 질문 올려도 왜 다 흐트러지는지 원......)
1-2번째 줄 사이에 print(string_a)를 넣어서 어떤 것이 출력되는지 확인해주실 수 있을까요?
해당 오류는 int() 함수로 읽어들일 수 없는 숫자를 입력했을 때 발생하는 오류입니다. "273"만 입력하면 무리 없이 될 것 같은데, 혹시 "입력A>273" 전체를 입력하신 것이 아닐까 하여 추가 문의 드립니다.
책 예제 2번째, 5번째 라인의 string_a 와 string_b의 값을 각각 273과 52로 입력하니 문자열 자료값만 나오지 않고 책의 실행 결과 처럼 나옵니다.책의 결과 값인 문자열 자료 : 27352 를 나오게 하려면 어디를 손봐야 될까요?결국 7번째 라인 print("문자열 자료:", str(273)+str(52)) 이렇게 만들어야 되는건지요? 아님 다른 방법이 있는지요?
장현우 직접적으로 string_a와 string_b의 값을 52, 273으로 지정하라는 의미가 아닙니다 @_@, print(string_a)와 print(string_b)로 출력해서, 어떠한 결과만 나오는지 확인하시라는 의미입니다. int(string_a)로 대체 어떤 string_a가 들어가길래, Value Error가 나는지 확인해주세요(input() 함수가 실행되어, 터미널에서 값을 입력했을 때에 어떠한 값이 들어갔는지를 확인하라는 의미입니다).
물론 지금 써주신대로 하시면 당연히 실행은 되는데, 근본적으로 해결하고 넘어가는 것은 아니니 꼭 확인해주세요...!
9:49 str_input을 num_imput으로 바꾸고서 2번째줄 num_input = float 이라고 하면 안되던데 왜 안되요?
단순하게 num_input = float하시면
이건 float 함수를 num_input에 할당하는 행위입니다!
num_input = float(str_input) 등으로 함수에 무언가를 넣어서 실행해주셔야 합니다.
84페이지에 int_float01.py문제에서 input이 아닌 output나오는데 output은 언제 사용하는건가요?
그냥 변수 이름이므로 아무렇게나 만든 이름입니다.
a= input(“첫 번째 수를 입력해주세요”)
a= float(a)가 float(input(“첫 번째 수를 입력해주세요”)를 의미한다는 것과
num+=num이라는 것이 가능하다는 것을 보고 파이썬의 코드는 수학의 연산체계와 다르다는 것을 알았습니다. 수학에서는 a=/=a+10이니까요. 즉 파이썬은 한 줄 한 줄씩 처리할 때 최종적인 결과만을 받아들인다는 것이라고 이해했습니다. 적어도 변수를 정의할 때는요! 그런데
스왑 과정에서 이해가 안 되는 부분이 있습니다.
print(a,b)-> a->b를 print(a, b)-> b, a로 바꾸기 위해서
a=b
b=c
a=c를 하는 과정이 이해가 가지 않습니다.
왜냐하면 a=b이고 다음에 b=c를 하게 된다면 b=c라고 재정의가 되기 때문에 b=c이고 c=b입니다. 그럼 여기서 이미 a=b라는 정보는 없어지는 것 아닌가요?? 이어서 진행하면 c=a라고 c가 다시 정의되었기 때문에 a=c이고 c=a입니다. 따라서 b=c라는 것은 사라지지 않나요?? 혹시 처음에 a=b, b=c라고 하면 b=c, c=a, a=b이지만 a=/=c 인가요?
수학 체계는 같습니다. 기호 때문에 오해가 발생한 것 같은데,
= 기호는 "같다"가 아닙니다.
=는 "할당"입니다. 오른쪽의 것을 왼쪽에 넣습니다.
==가 "같다"입니다.
이것을 인지하시고 다시 내용을 보시면 좋을 것 같습니다.
아 감사합니다!!
선생님!! 제 터미널 창은 너무 복잡하게 떠요, 선생님꺼는 엄청 깔끔하네요. 어떻게 터미널의 보기 깔끔하게 만들까요? ㅠ
강의에서 조금 더 깔끔하게 보여드리고자 맥의 oh my zsh라는 것을 쓰고 있습니다 😭. 윈도우에서는 아직 따로 설정이 안 됩니다.
Input으로 받은 결과를 a라 할 때print(“a”)라고 하지 않고 print(a)라고 해도 출력이 되던데 문자열의 변수는 출력할 때 “ “를 붙이지 않아도 되는건가요??
""로 감싸면 문자열이 됩니다.
변수의 이름으로 쓰려면 ""를 감싸면 안 됩니다.
강의 감사합니다.
좋은 하루 되세요^^
a=float((input('숫자를 입력하시오'))
a+=10
어느 부분이 틀렸을까요..계속 오류 뜨네요
괄호가 3번 열리고, 2번 닫혔습니다.
선생님이 말씀하신대로 괄호를 넣어서 해보았는데a=float((input('숫자를 입력하시오')))
a+=10을해서 10을 넣으면 20이 나오는게 희망인데 계속 10입력후 아무일도 일어나지않네요..왜이럴까요
출력을 하려면 print() 함수를 사용해야 합니다. 내부적으로는 계산이 되었는데 출력을 안 하니 아무 것도 일어나지 않는 것처럼 보이는 것입니다.
선생님 너무 감사합니다^^ 많은 질문을 해서 너무 죄송합니다만 혹시 선생님처럼 터미널에 바로바로코드를 실행하는 방법이 어떻게 될까요? 저는 처음에 알려주신대로 shift 오른쪽키로powershell 해서 실행하는데 그렇게 되면 폴더에 너무 많이 쌓이게 되고 너무 번거로워서요..
@@이동건-q1u 그림을 1개 그리고 싶으면 도화지 1개가 필요하고, 그림 10개를 그리고 싶으면 도화지 10개가 필요한 것처럼, 프로그램을 계속 만들면 파일이 많아질 수 밖에 없습니다.
강의에서는 그냥 파일 하나를 입력하고 지우고 입력하고 지우고(도화지를 그냥 지우개로 밀어버리고 다시 그리고 밀어버리고 다시 그리고 하는 것처럼)하고 있어서 파일 1-2개로 전체 예제를 진행하고 있습니다.
공부할 때는 "어제 뭘 했었지" 등을 생각해볼 수 있게, 날짜와 제목을 적어서 파일 여러 개 만들어보시는 것을 추천합니다(이전에 그린 그림들 살펴보며 스스로 피드백 할 수 있듯이 파일들이 하나의 기록이 되어 피드백 할 수 있게 해줍니다).
13:00에서
a=c
b=a
c=b
라고 하면 오류가 뜨던데 왜 그런건가요??(NameError: name 'c' is not defined)라고 뜹니다
c라는 변수가 정의되지 않았기 때문입니다(현재 오류가 나타내는 것).
기존의 코드는
- 우유와 홍차가 들은 컵을 두고
- 컵을 하나 더 가져와서
- 그 컵에 우유 따르고(13:00의 c = b)
- 이제 빈 컵에 홍차 따르고(b = a)
- 새로 가져왔던 컵의 것을 다시 옮기는(a = c)
것인데
a = c는 아무 것도 안 들은 컵(c)의 것을 다른 곳에 옮기려고 하니 오류가 발생하는 것입니다.
저도 이분처럼 A먼저 옮길라고 하니까
C=A
A=B
B=C 이렇게하면 되네요 그런데 여기서 C를 어떻게 다시비우죠? 진도더나가면 알수있나요?
선생님! 늘 강의 재밌게 보고 있습니다~!^^
a=input("첫 번째 수입력: ")
b=input("두 번째 수입력: ")
print(a)
print(b)
와 같은 결과를 내고 싶습니다.
기존 강의에서 배웠던 방법도 사용해보고 싶어서, print 함수 안에 쓰는
이나 """ 를 사용하는 방법을 적용해보려고 했는데,
은 아마도 a와 b와 섞여서 사용되면서 print(a
b)와 같은 형태가 되서 오류가 납니다. 'ㅁ';;
그리고 """ 방법은
print("""a
b""")
로 입력했는데, input으로 받은 값을 보여주지 않고 그냥 a와 b가 줄바꿈이 되어 출력되버리네요..!!
input으로 받은 값을 줄을 바꿔서 표현하되, print 함수를 한번만 써서 표현하는 방법은 없을까요? 특히나, 기존 강의에서 배운
과 """를 사용해서 쓸 수 있는 방법은 없을까요?
Sumi lee 문자열 안에 들어 있는 값은 모두 그냥 문자열입니다. 따라서 "a b"는 그냥 "a b"라는 문자열입니다.
현재 배운 범위에서는 지금 말씀하신걸 구현한다면 print(a + "
" + b)하면 됩니다.
이후의 format() 함수 관련 부분을 보고 나시면 더 다양하게 출력하실 수 있을 것입니다.
우유와 홍차 좋아요 박고갑니다 행님
우유와 홍차 예시 이해가 매우 잘되네요 ㅎ ㅎ
input 이나 print 함수 안에 한글을 넣으니 오류가 발생하는데 영문이나 숫자를 넣으면 실행이 잘됩니다...무슨 설정이 필요한건가요??
맥을 사용하고 계시지는 않은지 확인해주세요. 맥에서는 2020년에 지원이 끝나는 파이썬 2.X가 기본으로 설치되어 있어서, 파이썬 3.X를 사용하시려면 설치 후 python3 명령어를 사용하셔야 합니다...!
윤인성 아 그렇군요.. 감사합니다!!
컵에 담긴 홍차와 우유의 운명은 어떻게 되었나요
제가 다시 냠냠합니다[?!]
2021년 3월 7일 수강완료
마지막 a b c 교차하는 문제에서 print(a,b)를 두번 쓴 이유가 뭔가요?
교차되었는지 확인하기 위해서입니다...!
8:04 여기에 3번째 줄은 왜 비워두는건가요?
이유는 딱히 없습니다. 마음에 드는 형태로 지우셔도 됩니다.
a=input("문자열 입력 >")
b=input("문자열 입력 >") # a =5 b =3
print(a ,b)
c=b
b=a
a=c
print(b , a)
이렇게 하면 서로 숫자가 교체가 안되고 그대로 나오게 되는게 이유가 뭔가요?
맨 마지막줄의 print(b, a)가 print(a, b)여야 맞을듯 싶습니다 : )
어쨌거나~ 😃 감사합니다~ ㅋ
안녕하세요! 좋은 강의 덕에 파이썬 공부를 수월하게 하고 있습니다. 질문이 하나 있는데요, 90페이지 5번 문제를 풀던 중 하나의 변수로 해당 문제를 풀어보고 싶어져서 여러 시도를 해본 결과
r=input("원의 반지름 입력>>")
float(r)
은 가능하고,
r=float(input("원의 반지름 입력>>"))
또한 가능한데,
float(r=input("원의 반지름 입력>>"))
은 불가능한 이유를 알고 싶습니다.
어떤 점이 오류를 발생하게 하는 건가요?
C 언어 기반의 프로그래밍 언어에서 진입하신 분들이 자주 실수하는 부분인데요.
기본적으로 C 언어 기반의 프로그래밍 언어는
대입 연산자(=)가 값을 리턴합니다.
따라서 지금 주신 코드처럼 대입 후의 값을 활용할 수 있습니다.
.
하지만 파이썬의 대입 연산자는 값을 리턴하지 않습니다.
["= 연산자는 표현식을 만들지 않는다"라고 표현합니다]
.
따라서 r = input("ㅇㅇ")은 아무런 값을 내지 않아서
float() 함수의 매개변수로 넣을 수 없습니다.
.
"하나의 문법은 하나의 기능만한다"라는 것이
파이썬의 이념이라고 해서
문법이 이렇게 설계된 것인데요.
.
논란이 조금 많았지만 파이썬 3.8버전부터
바다 코끼리 연산자[:=]가 추가되었습니다.
[:=를 돌리면 바다사자 눈과 이빨처럼 생겼다고 해서 Walrus 연산자라고 부릅니다]
.
이건 값을 리턴합니다.
그래서 지금 주신 예제를 := 로 변경하면 정상적으로 동작합니다!
오늘 올린 ruclips.net/video/JnOVAnP9nmM/видео.html 강의도 참고해보세요!
@@윤인성 참고로 올려주신 영상을 보고 어렴풋이 이해가 갔습니다! 파이썬은 c기반 언어와 다르게 매개변수에 표현식을 넣을 수 없는 거군요...? 이해한게 맞을까요...? 값을 리턴하는 것과 변수에 값을 할당하는 것의 차이도 알고 싶어요!
@@way4720 앗 아뇨아뇨! 표현식은 당연히 넣을 수 있고 "할당 연산이 표현식(값)을 만들어내지 않아서 넣을 수 없는 것"입니다![매개변수라는건 값을 넣어야 하는데 아무 것도 아닌걸 넣어서 오류]
리턴은 값을 만들어내는 것이라 생각하면 되고
할당은 = 연산자로 변수에 값을 넣는 것입니다!