인생은 언제나 Try and Except
close
프로필 배경
프로필 로고

인생은 언제나 Try and Except

  • 분류 전체보기 (680)
    • 잡담 (315)
      • 단문 (106)
      • 장문 (32)
      • 그림있음 (129)
      • 나야, 언박싱 (47)
    • Coding (179)
      • 코딩잡담 (22)
      • JavaScript (56)
      • Python (81)
      • R (20)
    • BOJ (116)
      • [BOJ] Python (116)
    • 잔머리 엑셀 (69)
  • 홈
  • 태그
  • 방명록
팩토리얼 로직 또 수정

팩토리얼 로직 또 수정

이건 또 언제 떠올랐냐면 밥 사러 편의점 가다가 떠오름... ㅋㅋㅋㅋㅋㅋㅋㅋ 아니 농담 아니고 진짜로 그래요 뜬금없이 샐러드 고르고 계산하다가 아 근데 자연수 아닌거 어캄? 이러고 떠오름 들어가기 전에... 팩토리얼이 되는 범위가 어디까지인가에 대해 설명을 좀 하자면... 팩토리얼(n!)은 n부터 1까지 쫙 곱하는 그게 맞는데, 0!은 0이 아니라 1이고(...) 음수에 대해서는 정의가 안 되어 있다. 그리고 정수가 아닌 유리수(즉 q/p꼴로 나타내는 수 중 p가 1이 아닌 것...아니 음수도 아냐 치워)에 대해서는 일반적으로 고등학교 과정에서 배우는 팩토리얼이 아니라 감마 함수를 써서 계산한다. 그러니까 저기다 때려박으면 된다. 수기로 하지 말고 알파신 부르자. (울프램알파도 저거 해준다) 감마(n)은..

  • format_list_bulleted Coding/Python
  • · 2022. 8. 22.
  • textsms

팩토리얼 로직 수정+계승 소수

Factorial 로직 수정 재밌는 사실을 하나 알려주자면 출근길에 지하철에서 멍때리다 생각난거임... 6호선 생각보다 자리 없어요 여러분. 팩토리얼(n!) 그니까 계승이 1부터 n까지 쭉 곱하는거인 건 맞다. 맞는데 문제가 두 가지 있다. 첫째, 0! = 1이다. (0 아님) 둘째, 음수는 팩토리얼이 없다. (정수가 아닌 유리수는 감마함수 때려박으면 된다나...) 그래서 이 두 가지 케이스에 대한 처리를 해야 한다. import sys a = int(sys.stdin.readline()) # Factorial(계승): 일반적으로 n! = 1*2*3*...*n-1*n이다. (5!=1*2*3*4*5) factorial = 1 if a < 0: print("Can't calculate factorial") ..

  • format_list_bulleted Coding/Python
  • · 2022. 8. 22.
  • textsms

순열조합

워드클라우드 py파일 만드는 김에 순열조합도 코딩했음. 순열: nPr(n개의 원소 중 r개를 중복 없이 늘어놓는 가짓수) 조합: nCr(n개의 원소 중 r개를 픽할 때의 가짓수) # permutation(순열): 서로 다른 n개의 원소 중 r개를 중복 없이 늘어놓는 것 def factorial(a): factorial = 1 for i in range(1,a+1): factorial = factorial * i return factorial # 순열에 팩토리얼이 들어가서 어쩔 수 없어요... # nPr(서로 다른 n개의 원소 중 r개를 중복 없이 늫어놓는 것)을 구하는 공식은 n!/(n-r)!입니다. n = int(input("n에 들어가는 수를 입력해주세요: ")) r = int(input("r에 들어..

  • format_list_bulleted Coding/Python
  • · 2022. 8. 22.
  • textsms

워드클라우드 코드에 기능 추가

일단 Entrez랑 Text랑 추가된 기능이 조금 다름. 기본 맥락은 같습니다. 공통 기능 워드클라우드용 마스킹 이미지를 불러오기 위한 파일 창 추가 from argparse import FileType import tkinter from tkinter import filedialog 추가 소환한 모듈(...) root = tkinter.Tk() root.withdraw() dir_path = filedialog.askopenfilename(parent=root,initialdir="/home/koreanraichu",title='Please select a directory',filetypes = (("*.png","*png"),("*.jpg","*jpg"),("*.gif","*gif"))) image..

  • format_list_bulleted Coding/Python
  • · 2022. 8. 22.
  • textsms

List comprehension

참고로 나도 오늘 처음 들은 개념이다. List comprehension-기본편 a = list(range(9)) print(a) 보통 리스트는 이런 식으로 생성하거나 a = [0,1,2,3,4,5,6,7,8] 이렇게 생성한다. (같은 리스트다) 이걸 리스트 컴프리헨션으로 생성하려면? a = list(i for i in range(9)) print(a) 이렇게 쓰거나 a = [i for i in range(100)] print(a) 쿨하게 대괄호 안에 끼워넣으면 된다. For문 넣기 참고로 본인 신조가 'For문 가는데 While이 국룰'이었는데 얘는 예외다. While이 들어가질 못함... for문과 달리 while은 조건부 반복문이라 그런 듯 하다. a = list(2 ** i for i in ran..

  • format_list_bulleted Coding/Python
  • · 2022. 8. 22.
  • textsms

완전수 찾는 코드

이거 근데 우분투 놋북이 뭐가 불만인지 키보드가 안먹히데... 커널 올려줘도 난리여... 안그래도 오늘 진상 만나서 힘들었는데 너까지 왜그러냐... import sys a = int(sys.stdin.readline()) yaksu = [] for i in range(1,a+1): if a % i == 0: yaksu.append(i) yaksu_text = ''.join(str(yaksu)) print('{}의 약수는 {}입니다. '.format(a,yaksu_text)) if sum(yaksu) == 2 * a: print('{}는 자기 자신을 제외한 약수들의 합이 {}와 동일하므로 완전수입니다. '.format(a,a)) 전체 코드는 뜯어보고 자시고 할 것도 없음. 완전수는 자기 자신을 제외한 모든..

  • format_list_bulleted Coding/Python
  • · 2022. 8. 22.
  • textsms
Project restriction enzyme: 패치노트

Project restriction enzyme: 패치노트

NEB Filter 추가 이제 NEB에서 파는 제한효소들만 볼 수 있습니다. (NEB: 뉴 잉글랜드 바이오랩스. NEB cutter 만든 거기 맞음) Cutter/Finder의 저장 형식 변경 일부 저장 형식이 변경되었습니다. 저장 디렉토리 출력 저장 시 현재 디렉토리를 출력해줍니다. FASTA파일 관련 문제 수정 1. FASTA 파일에 시퀀스가 소문자로 기록되어 있을 경우 제대로 못 찾던 문제를 수정했습니다. 2. FASTA 파일에 >가 여러개 일 경우 에러가 뜨는 대신 맨 위에 있는 >로 진행합니다. 참고로 왜 NEB냐면 거기껄 제일 많이 썼음. Genbank 파일 지원 문제가 하나 있는데 리드랑 파스랑 뭔 차인지 모르겠음. FASTA는 지에딧으로 열리는거라 보기라도 했지... Genbank는 gb파..

  • format_list_bulleted Coding/Python
  • · 2022. 8. 22.
  • textsms
Cutter, Finder 공통 패치: FASTA 파일 불러오는 기능

Cutter, Finder 공통 패치: FASTA 파일 불러오는 기능

패치노트 1. 꺾쇠(>)가 하나인 FASTA 파일 한정으로 읽어올 수 있습니다. (Biopython이 꺾쇠 개수에 따라 불러오는 방식이 다름) 2. FASTA 파일을 불러올 경우, 시퀀스 이름란에 FASTA file의 ID영역이 들어갑니다. (사실 description 넣으려다가 너무 길어서...) 3. FASTA 파일을 불러오는 데 성공할 경우에도 멘트가 출력됩니다. (실패할때는 당연히 출력됨) 개고생의 흔적 from argparse import FileType import tkinter from tkinter import filedialog from Bio import SeqIO # 정신사나워서 불러오는거랑 표 분리했습니다...OTL 이쪽이 모듈이다. (뭐가 많음) FASTA_open = input(..

  • format_list_bulleted Coding/Python
  • · 2022. 8. 22.
  • textsms
Finder 기능추가: 정규식 도입

Finder 기능추가: 정규식 도입

정말! 개 노가다끝에... 드디어 해냈음... 일단 도입하는 것 자체는 커터에서 했기때문에 크게 어려운 부분은 없었고, 문제가 좀 있었다. 1. 함수 정의하고 뺑뺑이를 돌렸는데 알파벳이 자꾸 하나만 바뀌는 문제(수정함) 2. 정규식은 찾아바꾸기가 안된다. (sub()은 토씨 하나 안 틀리고 바꿔주는거라 G..T로 찾고 G..T/로 바꾸면 모든 시퀀스가 죄다 G..T/로 바뀐다) 첫 번째 문제는 해결했고 두번째 문제의 경우 찾아바꾸기가 안돼서 정규식이 필요한 효소들은 어떻게 자르는지가 위에만 표시되어 있다. 살려줘요.

  • format_list_bulleted Coding/Python
  • · 2022. 8. 22.
  • textsms
정규식(Regular Expression)-re모듈 사용법

정규식(Regular Expression)-re모듈 사용법

분량+저녁크리로 인해 2부작으로 나눠버림... 이 글의 re모듈은 파이썬에서 사용하는거지만, 앞 글에 있는 기호와 메타문자는 언어를 불문하고 정규 표현식에서 다 쓰인다. https://koreanraichu.tistory.com/118 정규식(Regular Expression)-기호와 메타문자 문자 찾는 것 자체는 find()도 해주는데, 얘는 딱 정확하게 일치하는 문자열만 찾아준다. 그럼 정규식은? 그건 대충 와일드카드같은 거다. 그러니까 find()는 소라빵 찐빵 팥빵 붕 koreanraichu.tistory.com 다른 언어를 사용한다고 해도 앞 글은 한번정도는 읽어보자. re.search() 자... 전에도 서술했지만, find()는 정규식을 주면 그 정규식이랑 일치하는 걸 찾지 정규식으로 검색하..

  • format_list_bulleted Coding/Python
  • · 2022. 8. 22.
  • textsms

정규식(Regular Expression)-기호와 메타문자

문자 찾는 것 자체는 find()도 해주는데, 얘는 딱 정확하게 일치하는 문자열만 찾아준다. 그럼 정규식은? 그건 대충 와일드카드같은 거다. 그러니까 find()는 소라빵 찐빵 팥빵 붕어빵 이런 식으로 딱딱 키워드를 찾는거고 정규식은 *빵으로 소라빵 찐빵 붕어빵 팥빵 다 찾는 거지. 참고로 정규식을 쓰려면 re를 불러야 한다. import re ㄱㄱ 정규식 문자 정규식에서 쓰는 문자들과 이게 뭐 하는건지를 간단히 알아보자. . Wildcard(구글 검색에서 *) for i in range(len(pokemon)): if re.search('김.',pokemon[i]): print(pokemon[i]) 김부추 김후추 김양상추 박알타리김치 고등어김치찜 김배추 참고로 전부 본인 포켓몬 이름임. 왜요 ^ ~로 ..

  • format_list_bulleted Coding/Python
  • · 2022. 8. 22.
  • textsms
Cutter 기능 추가: 정규식 도입

Cutter 기능 추가: 정규식 도입

Finder는 도입하려면 좀 걸립니다... 얘는 아예 정규식+찾아바꾸기가 필요한거라...... 정규식 도입 import pandas as pd import re from datetime import datetime enzyme_table = pd.read_csv('/home/koreanraichu/restriction.csv') enzyme_table2 = pd.read_csv('/home/koreanraichu/restriction_RE.csv') # 정규식 도입을 위해... 어쩔 수 없이 합쳤음... enzyme_table = pd.concat([enzyme_table,enzyme_table2]) enzyme_table = enzyme_table.sort_values('Enzyme') enzyme_t..

  • format_list_bulleted Coding/Python
  • · 2022. 8. 22.
  • textsms
  • navigate_before
  • 1
  • ···
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • ···
  • 57
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (680)
    • 잡담 (315)
      • 단문 (106)
      • 장문 (32)
      • 그림있음 (129)
      • 나야, 언박싱 (47)
    • Coding (179)
      • 코딩잡담 (22)
      • JavaScript (56)
      • Python (81)
      • R (20)
    • BOJ (116)
      • [BOJ] Python (116)
    • 잔머리 엑셀 (69)
최근 글
인기 글
최근 댓글
태그
  • #R
  • #BioPython
  • #BOJ
  • #코딩잡담
  • #Excel
  • #알리익스프레스
  • #JavaScript
  • #Python
  • #천원마트깡
  • #잔머리엑셀
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바