#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http 제목Quiz2 분석글입니다.2019-10-16 21:15작성자쉽게풀어쓰는.."""수업시간에 이성원교수님께서 str메소드 함수를 잘 알아두라고 말씀 하셨습니다.이번 문제는 str메소드 함수를 잘 알고 있는지 확인하는 문제였던 것 같습니다.저같은 경우도 help(str)을 쳐 놓고 찾아가며 풀었습니다.저는 __쏼라쏼라__ <- 이런 함수는 안쓰고깔끔한 이름의 (find, isdecimal같은) 함수만 사용합니다.제가 밑에 설명하는 문제를 본 뒤 직접 help써서 보시면서 만드시길 바랍니다."""def Add(first,second) : return first + seconddef Sub(first,second) : return first - seconddef Multi(first,second) : return first*seconddef Divide(first, second): if(second == 0): return ("Unvaild value : divide by zero") else: return first/second#여기 위에 까지는 이해가 되실거라 믿습니다.def calc(tstr): #tstr은 입력받은 변수(타입 : 문자열(str)) 입니다. temp = tstr.find(' ') #str의 find기능은 괄호 안 문자(열)의 인덱스를 찾아줍니다.(정수(int)로 저장) 못찾으면 -1을 반환합니다. if temp == -1: #입력한 문자열 안에 빈 공간이 없다! 그럼 잘못쓴거죠 print("잘못된 형식 : 띄어쓰기 해주시길 바랍니다") else: #종이에 집적 써보며 따라가시길 바랍니다. #빈 공간의 위치를 temp에 저장했습니다. tfirst = tstr[:temp] #tfirst에 입력받은 문자열의 첫번째 빈공간이 나오는 곳까지 저장합니다. tsecond = tstr[temp+3:] #정상적으로 입력했다면 위의 식은 두번째 숫자들을 저장할 것입니다. #여기서 주의하실것은 아직 tfirst와 tsecond는 문자열 입니다. toper = tstr[temp+1] #toper에는 첫번째 빈공간 뒤의 값(정상적이라면 + - * / 하나겠죠)을 저장합니다. if tfirst.isdecimal() and tsecond.isdecimal(): #isdecimal은 그 문자열이 10진수로만 이루어졌는지 확인하는 것입니다 #정상적으로 입력했다면 둘다 true가 되서 밑에 loop가 작동되겠죠 tfirst = int(tfirst) tsecond = int(tsecond) #두 문자열을 정수형으로 바꿔줍니다. if toper == '+': print(Add(tfirst,tsecond)) elif toper == '-': print(Sub(tfirst,tsecond)) elif toper == '*': print(Multi(tfirst,tsecond)) elif toper == '/': print(Divide(tfirst,tsecond)) else: #연산하는 문자가 이상한게 들어가면 실행됩니다. print("잘못된 연산 문자입니다.") else: #tfirst와 tsecond 둘 중 하나라도 숫자이외의 값이 존재하면(빈칸 포함) 실행됩니다. print("잘못된 입력 입니다.")#이 밑은 코드가 잘 작동되는지 알아보는 것입니다.#저희는 입력값이 exit이면 프로그램을 중단할 것입니다.#밑에 보시면 while문 전에 미리 inputData를 만들었는데, 이렇지 않으면 while문이 정상적으로 작동하지 않습니다.#왜냐면 inputData가 없는데 exit과 비교하라고 하기 때문이죠.#따라서 while앞에 미리 빈 문자열 변수를 만들어 줍니다.inputData=''while(inputData != exit): inputData = input("input : ") if inputData == 'exit': break calc(inputData) 목록수정삭제답변글쓰기 댓글 [3] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전구구단 질문입니당구구992019-10-16다음quiz2익명2019-10-16 Powered by MangBoard | 워드프레스 쇼핑몰 망보드