1行目がタイトル行だと仮定して、2行目から処理する
import openpyxl wb = openpyxl.load_workbook('example.xlsx') ws = wb.active for row in ws.iter_rows(min_row=2): print(row[0].value) wb.close()
1行目がタイトル行だと仮定して、2行目から処理する
import openpyxl wb = openpyxl.load_workbook('example.xlsx') ws = wb.active for row in ws.iter_rows(min_row=2): print(row[0].value) wb.close()
「input.txt」の内容を「output.txt」に書き込むプログラム
with (open('input.txt') as file_input, open('output.txt', mode='w') as file_output): for row in file_input: file_output.write(row)
withの後に()を書いて、その中に複数のopenを書く方法はPython3.9から使えるようになったそうです。
www.python.jp
以前はバックスラッシュ「\」を使って、下記のように書く必要があったそうです。
with open('input.txt') as file_input, \ open('output.txt', mode='w') as file_output: for row in file_input: file_output.write(row)
プログラミングに限らず、
私たちは失敗したほうが早く成長すると思います。
プログラミングは失敗しながら完成させることが多く
失敗によって成長することを実感しやすいと思います。
また、失敗をしても損害が小さいので
失敗の大切さを学ぶのに適していると思います。
プログラミングをやっていると
普段あまり使わない考え方とか、
コンピュータの仕組みに
出会うことになります。
そういった、よくわからないものでも、
時間をかければ理解することができます。
そういう経験によって、
よくわからないものは、すぐにはわかるようにならないが、
時間をかければわかるようになるという経験ができます。
プログラミングを勉強すると
少しずつ自分でできることが増えてきます。
その結果、専門家にすべて任せるのではなく、
自分でやれることは自分でやってみよう
という気持ちがわいてきます。
プログラミングの世界で他人と協力する場合、
自分のプログラムを他人に再利用してもらう必要があります。
再利用してもらうには、
小さく部品化する、使いやすくする、
抽象度を上げて、汎用性を高める
などが必要になります。
そういう考え方は、他人と協力したり組織を作るときに
役に立つのではないかと思います。
プログラミングを始めると、
最初のうちは勉強に時間がかかる割に
それほど役に立つものが作れないので、
損をすることになります。
しかし、能力が上がれば、
短い時間で役に立つプログラムをかけるようになり、
得をするようになります。
この経験により、
勉強は将来への投資であることが
実感できると思います。
編集前のファイル名: in.pdf
編集後のファイル名: out.pdf
編集前のファイルのページ数: 99ページ以下
もし、ページ数が3桁であれば、「%03d」とする。
分割したファイルの名前(02.pdf, 03.pdf, ...)の数字の部分の桁数を揃えておかないと
結合するときのページの順番が不正になる。
$ sudo apt install poppler-utils
問題
のとき の最小値を求めよ。
答
のとき最小値
xを-10から10までの適当に細かい値で試す。
import numpy as np import matplotlib.pyplot as plt x = np.linspace(-10, 10, 10000) y = 1 - x z = x**2 + y**2 a = list(zip(x, y, z)) # タプルの3番目の要素(z)の最小値を求める min_x, min_y, min_z = min(a, key=lambda x:x[2]) print('x =', min_x, 'y =', min_y, '最小値 =', min_z) plt.plot(x, z) plt.show()
x = 0.4990499049904997 y = 0.5009500950095003 最小値 = 0.5000018053610542
# タプルの3番目の要素の最大値・最小値を求める a = [(1, 2, 3), (4, 5, 6), (7, 8, 9)] print(max(a, key=lambda x:x[2])) print(min(a, key=lambda x:x[2]))
実行結果
(7, 8, 9) (1, 2, 3)
[tex: \displaystyle y = 2x^2 + \frac{1}{3}]
[tex: \displaystyle a_n = a_{n-1} + a_{n-2}]
[tex: \displaystyle e = \sum_{n=0}^\infty \frac{1}{n!} = \frac{1}{0!} + \frac{1}{1!} + \frac{1}{2!} + \cdots]
式に番号をつける
(番号をつけたら式が中央に配置された。左に寄せる方法はわからない。)
[tex: \displaystyle x = \frac{1 + \sqrt{5}}{2} \tag{1}]
複数の式を書いて=の位置を揃える
[tex: \displaystyle \begin{align} x &= 1 + 1 \\ &= 2 \end{align}]