본문 바로가기

파이썬7

파이썬 정수 1000000까지 2진수, 10진수가 같은 회문의 정수 구하기 제목을 좀 난해하게 적었는데 설명하자면 이렇다. 101 같이 뒤집어도 같은 숫자가 존재한다 131, 212... 등등 한자리 정수는 말할것도 없고 입력받은 정수까지의 회문이 가능한 수를 구하는건데 조건이 2진수를 포함한것 까지이다. 그러면 if문에는 and를 사용해 2진수랑 10진수의 회문이 같은 정수를 구하자 라고 인지할 수 있다. 뭐.. 10진수까지는 어찌저찌해서 금방 코드를 짤 수 있겠지만 2진수는 조금 난해했다. 자바로 했을때는 라이브러리를 사용하지않고 직접 '/', '%'를 써서 배열에 저장하는 식으로 구현했던 기억이 있다. 하지만 파이썬은 그렇지 않다. 역시나 대단한 언어이다. 물론 다른 분들의 코드를 참고해서 작성했다. 비교해야할 것은 먼저 반복문안에 모든 숫자를 비교해야 하는데 1부터 10.. 2021. 10. 7.
파이썬 입력받은 문자열을 각 집합으로 추출하기 재밌는 코딩 문제를 경험해봤다. 첫째줄에는 저렇게 문자열을 입력받는 변수가 주어지고 2, 3, 4, 5 줄 처럼 한글은 한글, 영어는 영어, 숫자는 숫자로 출력하는 문제였다. 문자열 문제는 보통 아스키를 떠올리기 마련이고 대소문자는 upper나 lower 함수를 사용한다. 여러 자료들을 찾아본 결과 파이썬에는 아스키 코드로 변환하는 ord 함수가 있다는 것을 알았다. 그럼 입력받은 input 값을 ord를 통한 아스키 코드 인식 범위를 넣어주면 원하는 결과를 출력할 수 있지 않을까 생각했다. 또 ord 함수는 문자를 넣어줌으로써 범위를 편하게 지정할 수 있다. 예를 들어 A를 아스키 코드로 출력하면 65라는 값이 나온다. 이는 10진수로 표현되었다. 이를 이용해 코드를 작성해봤다. x = input() .. 2021. 10. 7.
파이썬 성적처리(클래스, 함수화, 파일처리) 파일처리도 추가한 성적처리 - 보완할 부분 : 학생이라는 클래스를 따로 생성해서 해보기 import pickle #파일처리를 위한 모듈 임포트 # 학생관리 클래스 생성 class Score_management: def __init__(self): self.studentlist = [] # 학생정보들을 담을 리스트 초기화 def menu(self): # 메뉴선택에 따라 맞는 함수들 호출 while 1: num = int(input('1. 성적입력 2. 검색 3. 삭제 4. 파일저장 5. 수정 6. 파일불러오기 7. 종료 : ')) print('*' * 40) if num == 1: print('--학생 정보 입력') self.insert() elif num == 2: print('--학생 검색') self.. 2021. 4. 25.
파이썬 성적처리 기초 한사람 성적처리 # 성적처리프로그램(1사람 처리) # 입력 : 이름, 국, 영, 수 # 연산 : 총점, 평균 # 출력 : 이름, 국, 영, 수, 총, 평 import sys input = lambda:sys.stdin.readline().rstrip() print("이름입력과 국어, 영어, 수학 점수를 입력하세요") print("한줄에 입력(이름 : 국 영 수)") data = input().split(' ') print('*'*20) tot = int(data[1]) + int(data[2]) + int(data[3]) print("{: 2021. 4. 25.