わかさぎのブログ

プログラミング、Atcoderの勉強とか

AtCoder Beginner Contest 275 C - Counting Squares

s=[] for i in range(9): tmp=list(input()) s.append(tmp) def nagasa(r1,r2): res=(r1[0]-r2[0])**2+(r1[1]-r2[1])**2 ans=pow(res,0.5) return ans zahyou=[] for i in range(9): for j in range(9): if s[i][j]=="#": zahyou.append((i,j)) from itertoo…

AtCoder Beginner Contest 276 C - Previous Permutation

N=int(input()) p=list(map(int,input().split())) def prev_permutation(a: list, l: int = 0, r: int = None) -> bool: if r is None: r = len(a) - 1 for i in range(r - 1, l - 1, -1): if a[i] > a[i + 1]: for j in range(r, i, -1): if a[i] > a[j]: …

AtCoder Beginner Contest 276 B - Adjacency List

N,M=map(int,input().split()) ab=[] for i in range(M): tmp=list(map(int,input().split())) ab.append(tmp) ab.insert(0,[0,0]) data=[[] for i in range(N+1)] for i in range(1,M+1): l=ab[i][0] r=ab[i][1] data[l].append(r) data[r].append(l) del d…

AtCoder Beginner Contest 276 A - Rightmost

S=list(input()) count=-1 for i,j in enumerate(S): if j=="a": count=i+1 print(count)

AtCoder Beginner Contest 276 D - Divide by 2 or 3

提出コード N=int(input()) a=list(map(int,input().split())) from functools import reduce import math def my_gcd(*numbers): return reduce(math.gcd, numbers) gcd=my_gcd(*a) a=[i/gcd for i in a] def prime_factorize(n): a = [] while n % 2 == 0:…

python でFFT

気軽にフーリエ解析したい - Qiita

plotlyできれいなグラフを作るplotly-go

import plotly.graph_objects as go #Figureオブジェクト作成fig = go.Figure() #traceを作成trace1 = go.Scatter(x=[1, 2, 3, 4], y=[1, 4, 9, 16]) #traceをFigureに追加fig.add_trace(trace1) #レイアウトの設定fig.update_layout(title='グラフのタイト…

outlookを操作 メール送信画面の表示

import win32com.client outlook = win32com.client.Dispatch("Outlook.Application") mail = outlook.CreateItem(0) mail.to = ''mail.cc = ''mail.bcc = ''mail.subject = ''mail.bodyFormat = 1mail.body = ''''''mail.Attachments.Add ("C:\\Users\\---\…

f文字列

import math val=700val2=4000 print(f"私の戦闘力は{val}です")print(f"円周率は{math.pi: .10f}")print(f"変数は{val2=}") 使いそうなものを3つピックアップ。 基本が一個目 :で書式を指示できる .10fは小数点以下10桁の意味 「変数=」と書くと val=1000…

javaのhello world

サンプルコード public class ConcatSample1 { static public void main(String args[]){ String str1 = "文字列1"; String str2 = "文字列2"; String str = str1 + str2; System.out.println("+演算子による文字列の連結 -> " + str); } } メイン関数があ…

lambda式

lambda 変数 : 関数 lambda x.y : f(x,y) 無名関数を定義する func = lambda x: x+x y=func(2)print(y) a=[2,3,4] z=list(map(lambda x:x+x, a))print(z) >>> 4[4, 6, 8] 簡単な関数ならこのように一行で定義できる。 ついでにmapの使い方としては map(関数 …

pythonでHDF5ファイルの読み込み

pip install h5py CSVよりも読み込みの速いファイル形式HDF5 ANACONDAなら初めから入っている

for文を逆に回す

reversed()関数を使う enumerate()関数との合わせ技も可能 しかしどちらもリストを引数にしてgeneratorを返り値にする点に注意する。 x = ["my", "unlimited", "sadness"]for i in reversed(x): print(i) x = ["my", "unlimited", "sadness"]for i, e in rev…

配列の要素から文字列検索

普通のやり方 str_match = [s for s in my_list if "ack" in s]print(str_match) __contains__を使ったやり方 str_match = [s for s in my_list if s.__contains__("ack")]print(str_match) 文字列が持つ特殊メソッド 文字列.__contains__("検索したい文字列)…

辞書の操作

リスト二つからzipを使って生成できる a=["john","tanaka","hanako"]b=[132,23,23] di=dict(zip(a,b)) print(di) >>> {'john': 132, 'tanaka': 23, 'hanako': 23} for文と辞書に関して 辞書のテンプレ。keyは文字列 d = {'key1': 1, 'key2': 2, 'key3': 3}fo…

Rubyのクラス変数とインスタンス変数

class Greeting def setName(name = "Ruby") @name = name #引数をインスタンス変数@nameに設定 end def hello print "Hello ", @name,"\n" #変数@nameは他のメソッドからでも参照可能 end end g1 = Greeting.new #オブジェクトg1を生成 g1.setName("Taro") …

Rubyでコンストラクタ

class MyClass def initialize puts "init" end end def initializeと書く

Rubyでインスタンスメソッド生成

class MyClass2 def method_a puts "method_a" end def method_b method_a endend my_instance = MyClass2.new()my_instance.method_amy_instance.method_b 普通のインスタンスメソッドのサンプルコード いちいちselfと書かない。使うときだけ書くらしい。 …

Rubyのfor文

FuzzBizz for i in 1..100 if i % 15 == 0 print "FizzBuzz\s" print "\n" elsif i % 5 == 0 print "Buzz\s" print "\n" elsif i % 3 == 0 print "Fizz\s" print "\n" else print i , "\s" print "\n" endend pythonとの比較 for i in までは同じ pythonの場…

MATLABクラス 銀行口座クラスの例

クラスの開発 - 一般的なワークフロー - MATLAB & Simulink - MathWorks 日本 methods function BA = BankAccount(AccountNumber, InitialBalance) BA.AccountNumber=AccountNumber BA.AccountBalance=InitialBalance BA.AccountListerner=AccountManager.ad…

Rubyでpycallを使ってpythonのライブラリを使用するときのtips

なぜかpyenvで入れたpythonをデフォルトにしているとできない。 rubyのほうはrbenvでインストールしたほうにしておくとできる。 まとめ pythonのほうはsystemにする rubyのほうはrbenvでインストールする。 pipでmatplotlibなど入れる

Ubuntuでpython環境構築

ubuntu 20.04 / 18.04 に pyenv をインストールする話 - Qiita ↑でpyenvを入れる。 このままだとpipが入っていないのでpipもインストールする。 pip: Python環境構築ガイド - python.jp

UbuntuでRuby環境構築

Ubuntu 20.04 に rbenv で Ruby 環境を整える最小手順 - Qiita ↑これをそのまま

UbuntuでVisual Studio Code(VS Code)をインストール

簡単な方法がある。 UbuntuにVSCodeをインストールする3つの方法 - Qiita これの二つ目 sudo snap install --classic code で終わり

Virtual Boxの導入

VirtualBoxを使ってみよう! - YouTube 参考にした動画 基本的に次へを押していくだけ。 適当な場所にLinuxのisoファイルを置いておいて、「ディスクイメージファイルの読み込み」を探して読み込ませる。 LINUXが立ち上がったら、「インストールする」を選ん…

クラスの継承 コンストラクタの再利用

class A: def __init__(self): self.a = 100 class B: def __init__(self): self.b = 200 class C(A, B): def __init__(self): A.__init__(self) B.__init__(self) print("a + b = ", self.a + self.b) c = C() # => a + b = 300 クラス継承の時 super().__i…

MATLABスクリプト解読-3

search_name2 = sprintf('%s.mat',search_name); これもまたsprintfで文字列結合して変数に渡している使い方 load([pathname,Files(1).name])

MATLABスクリプト解読-2

earch_name2 = sprintf('%s.mat',search_name); sprintfは変数にも出力できる。というのを使っている。 search_name = '20D*'; [filename,pathname] = uigetfile(search_name2, 'Select Oshiro mat file');Files = dir([pathname,search_name2]); uigetfile…

MATLABスクリプト解読

clear all;close all; 最初のおまじない Tkinterのaskdirectoryに相当 uigetfile() [filename,pathname] = uigetfile('*000.csv', 'Select Oshiro csv file'); ディレクトリ内のファイルの一覧をリストに格納 dir() Files = dir([pathname,'*000.csv']); for…

ディレクトリを聞く(ミニマム)

fTyp = [("", "*")]iDir = os.path.abspath(os.path.dirname(__file__))file_name = tkinter.filedialog.askopenfilename(filetypes=fTyp, initialdir=iDir)