【python】奇数・偶数を判定する

〇まとめ

for i in range(10):
    print(i)

for i in range(10):
    if i % 2 == 0:
        print(i)

0
1
2
3
4
5
6
7
8
9

0
2
4
6
8

〇詳細

基本となる以下のコードに対して、

for i in range(10):
    print(N)
# 0

# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9

if 分を追加します。

「i % 2」で、iを2で割った場合の余りを取得できます。
i を2で割って余りが0の場合、すなわち偶数の場合のみ出力するのが以下です。

for i in range(10):
    if i % 2 == 0:
        print(i)
# 0
# 2
# 4
# 6
# 8

% を使用して、様々な数で余りを算出することができます。

print(100 % 2)
# 0

print(4 % 3)
# 1

print(123 % 9)
# 6

print(123 % 15)
# 3

【python】メモ210918 print試行

import datetime

a = 1
b = 2
c = 3
keta = 8
print(a)
print(‘answer = ‘ + str(a))
print(‘answer = {}’.format(a))
print(‘answer = {}{}’.format(a,b))
print(‘answer = {}{}{}’.format(a,b,c))
print(str(a) + ‘answer = {}{}{}’.format(a,b,c))

print(f’answer = {a}’)
print(f’answer = {a}{b}’)
print(f'{b}/{c}answer = {b/c:.5f}’)
print(f'{b}/{c}answer = {b/c:010.5f}’)
print(f'{b}/{c}answer = {b/c:0{keta}.5f}’)

ゼロ埋め
print(f’answer = {a:04}’)
print(f’answer = {a:0{keta}}’)

波括弧{}の扱い
print(f’answer = {{{a}}}’)
print(f'{{answer}} = {a}’)

now = datetime.datetime.now()
print(now)
print(‘結果一覧{0:%Y%m%d}{0:%H%M%S}.xlsx’.format(now))
print(‘{0:%Y%m%d}{0:%H%M%S}’.format(now))

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ [ 森 巧尚 ]
価格:2178円(税込、送料無料) (2021/8/9時点)

楽天で購入

【python】文字列を分割する

〇まとめ

N = ‘6 4 9 12 3 7’
print(N)

NL = N.split()

print(NL)
print(NL[0])
print(type(NL[0]))

L = ‘6,  4,  9,  12,  3,  7’
print(L)
LL = L.split(‘,’)
print(LL)
for i in range(6):
    LL[i] = int(LL[i])
print(LL)

6 4 9 12 3 7
[‘6’, ‘4’, ‘9’, ’12’, ‘3’, ‘7’]
6
<class ‘str’>
6, 4, 9, 12, 3, 7
[‘6’, ‘ 4’, ‘ 9’, ‘ 12’, ‘ 3’, ‘ 7’]
[6, 4, 9, 12, 3, 7]

〇詳細

Nを「6 4 9 12 3 7」という文字列とします。

N = ‘6 4 9 12 3 7’
print(N)
# 6 4 9 12 3 7

spilt を使って、文字列を分割出来ます。
引数を省略した場合、デフォルトでは空白で分割される

NL = N.split()
print(NL)
# [‘6’, ‘4’, ‘9’, ’12’, ‘3’, ‘7’]

分割した文字列は、リスト型になる。
リストの先頭は「6」となるが、数値ではなく文字のまま。
数値への変換は後述。

print(NL[0])
# 6

print(type(NL[0]))
# <class ‘str’>

今度は、「,」で区切られた数値を文字列とします。

L = ‘6, 4, 9, 12, 3, 7’
print(L)

# 6, 4, 9, 12, 3, 7

文字列にあわせて、今回は「,」で文字列を分割します。
分割後は前回同様文字です。

LL = L.split(‘,’)
print(LL)
# [‘6’, ‘ 4’, ‘ 9’, ‘ 12’, ‘ 3’, ‘ 7’]

以下のようにして、各文字列を数値に変換できます。(各文字が整数の場合)

for i in range(6):
    LL[i] = int(LL[i])
print(LL)
# [6, 4, 9, 12, 3, 7]

【python】メモ210815 pandas試行

import pandas as pd
df = pd.DataFrame([

    [1,2,3],
    [4,5,6],
    [7,8,9]
])
#print(df)

df = pd.read_csv(‘C:\work\python\excel\z210815_data.csv’, header = 2)
#print(df)

print(df.head(3))
#print(df.tail())

df2 = pd.read_excel(‘C:\work\python\excel\z210815_data.xlsx’, header = 2)
print(df2.head(3))

df3 = pd.read_excel(‘C:\work\python\excel\z210815_data.xlsx’, header = 2, sheet_name=’s2′)

print(df3.head(3))
print(df3[“value”])

print(df3[[“value”]])
print(df3[[“y”, “value”]])
print(df3.iloc[:,0:4])
print(df3.iloc[:,:-1])
print(df3[df3[‘value’] > 23]) #valueが24以上を表示
print(df3.sort_values(by = ‘value’).head())

print(df3.mean())
print(df3.std())
print(df3.describe())

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ [ 森 巧尚 ]
価格:2178円(税込、送料無料) (2021/8/9時点)

楽天で購入

【python】メモ210812 pyautogui試行

import pyautogui as pgui
import time

pgui.FAILSAFE = True

time.sleep(1)


#pgui.position()  #マウスの現在位置取得(左上が 0,0)
#print(pgui.position())

pgui.size()  #画面全体のサイズ
#print(pgui.size())


#pgui.click()
pgui.click(x=53, y=1063, duration=1.0)
time.sleep(0.8)
pgui.write(‘edge’, 0.2)
time.sleep(0.8)
pgui.hotkey(‘Enter’)
time.sleep(1.8)
#pgui.screenshot(“s001.png”, region=(0,10,400,300))

pgui.hotkey(‘home’, ‘alt’)

pgui.keyDown(‘alt’)
pgui.press(‘home’)
pgui.keyUp(‘alt’)

edge_home = pgui.locateOnScreen(‘edge_home.png’ , confidence=0.9)
print(edge_home)


pgui.click(edge_home, duration=1.0)
time.sleep(0.8)
#pgui.hotkey(‘alt’,’f4′)

【python】事例3

〇問題

入力は以下の形式で標準入力から与えられる

A B C D E F

入力値はすべて整数。6つすべて異なる。1以上100以下。

3番目に大きい整数を出力する

〇解答例

N = input()
NL = N.split()

for i in range(6):
    NL[i] = int(NL[i])
NL3 = sorted(NL)
print(NL3[3])

【python】事例2

〇問題

標準入力から、以下のようにN日間の売り上げが入力される。

N
A1
A2
・・・
AN

2日目以降の各日において、前日の売上からの増減を出力する。
 ・前日と同じ場合は「stay」を表示
 ・増減があった場合「up」「down」を表示し、変化量もあわせて出力

〇解答例

N = input()
N = int(N)

uriage = []

for i in range(N):
    uri= input()
    uriage.append(int(uri))

for i in range(N-1):
    ud = uriage[i+1]-uriage[i]
    if ud == 0:
        print(‘stay’)
    elif ud > 0:
        print(‘up ‘ + str(abs(ud)))
    else:
        print(‘down ‘ + str(abs(ud)))

【python】事例1

〇問題

標準入力から3桁の文字列が入力される。
数字の場合、2倍した数を出力。
数字以外の場合、「error」を出力する。

〇解答例

S = input()

try:
    S = int(S)*2
except:
    S = str(“error”)
print(S)

【python】現在の時刻を文字列として抽出

〇まとめ

import datetime

now = datetime.datetime.now()


print(now)
print(‘{0:%Y%m%d}’.format(now))
print(‘{0:%H%M%S}’.format(now))
print(‘out_{0:%Y%m%d}_{0:%H%M%S}.xlsx’.format(now))

2021-10-10 14:22:16.719524
20211010
142216
out_20211010_142216.xlsx

〇詳細

日付や時刻を扱うにはdatetimeモジュールを使用します。

import datetime

現在の日付と時刻を取得します。

now = datetime.datetime.now()

「now」に日時が入っていることが確認できます。

print(now)
# 2021-08-10 23:14:10.582566

フォーマットを変更して日付を取得したり、

print(‘{0:%Y%m%d}’.format(now))
# 20210810

時間を取得したりできます。

print(‘{0:%H%M%S}’.format(now))
# 231410

他の文字列と組み合わせることもできます。

print(‘out_{0:%Y%m%d}_{0:%H%M%S}.xlsx’.format(now))
# out_20210810_231410.xlsx

【python】いろいろ(目次)

〇文字列

文字列から一文字取り出す
文字列の一部を取り出す
文字列を分割する
文字列の一部を置き換える

〇数字

奇数・偶数を判定する

〇リスト

リストに追加(末尾)
リストに追加(任意の位置に)
リストから削除
リストの合計を計算する

〇現在の時刻

現在の時刻を文字列として抽出

〇Excel操作

Excelからデータ抽出

〇事例

事例1
事例2
事例3

〇メモ

メモ210812
メモ210815
メモ210918