Python 競技プログラミング メモ 2021_11_16 エバノートまとめ
■ メモ 01
num, num_1, num_2 = map(int, input().split())
### 対象リスト
list_item = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]
####### *list_item, sep='' で 出力すると [A,B] の を外して 出力する
print(*list_item[:num], sep='')
#######
print(*list_item[num:num + num_1], sep='')
print(*list_item[num + num_1:num + num_1 + num_2], sep='')
-----------------------------------------------------------------------------------
■ メモ 02
s = input().strip()
t = ["a", "e", "i", "o", "u"]
tt = ["A", "E", "I", "O", "U"]
# 配列結合
ttt = t + tt
for i in range(len(ttt)) :
if ttt[i] in s :
s = s.replace(ttt[i], '') #文字列の置換
else:
continue
print(s)
-----------------------------------------------------------------------------------
■ メモ 03
l_num = int(input())
get_list = [input() for x in range(l_num)]
### 重複削除
s_list = list(set(get_list))
### あいこ判定
if len(s_list) > 2 :
print('draw')
### じゃんけん判定
else:
if 'paper' in s_list and 'rock' in s_list:
print('paper')
elif 'rock' in s_list and 'scissors' in s_list:
print('rock')
elif 'paper' in s_list and 'scissors' in s_list :
print('scissors')
else:
print('draw')
-----------------------------------------------------------------------------------
■ メモ 04
def func(num):
tar = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
# indxe が 0 からのため + 1
num = int(tar.find(s)) + 1
return num
s = input().strip()
ans = func(s)
print(ans)
-----------------------------------------------------------------------------------
■ メモ 06
s(ローカル部)@t(ドメイン)
def func(d, g):
ans = d + '@' + g
return ans
d = input().strip()
g = input().strip()
a = func(d,g)
print(a)
-----------------------------------------------------------------------------------
■ メモ 07
m,n = map(int, input().split()) # 値取得
##################### def 開始
def func(m, n):
arr_item =
###### 値を 1 4 7 10 13 16 19 22 25 28 を list に格納
if m == n :
for i in range(m, n * 11, n):
tmp = str(i)
arr_item.append(tmp)
else:
for i in range(m, n * 10, n):
tmp = str(i)
arr_item.append(tmp)
############### 最後の要素だけ 空白行を取る
for i,e in enumerate(arr_item):
if i == len(arr_item) -1:
print(e)
else:
print(e, end=' ')
func(m,n)
-----------------------------------------------------------------------------------
■ メモ 08
def func(n):
for i in range(1,10):
if i == 9 :
print(n * i, end = '') # 9 の時は改行をつける
else:
print(n * i, end=' ') # 9 以外は 改行をつけない
ans = int(input())
### 関数 実行
func(ans)
-----------------------------------------------------------------------------------
■ メモ 09
# ループの数
loop = int(input())
a =
b =
########## 1行ずつ list で 取得する tmp,tmp_02 = map(int, input().split())
for i in range(loop):
tmp,tmp_02 = map(int, input().split())
a.append(tmp) # 1行目取得
b.append(tmp_02) # 2行目取得
# print(a)
# print(b)
n = 0
ans = 0
ans_02 = 0
ans_03 = 0
######## int で切り捨て
for nn in range(len(a)):
if '5' in str(a[nn]):
ans += (b[nn] / 100 * 5) # 5% の計算
elif '3' in str(a[nn]):
ans_02 += (b[nn] / 100 * 3) # 3% の計算
else:
ans_03 += int(b[nn] / 100 * 1) # 1% の計算
print(int(ans) + int(ans_02) + int(ans_03))
-----------------------------------------------------------------------------------
■ メモ 10
num = int(input())
trget = str(input())
t =
# 値をリストへ格納
t = [input() for i in range(num)]
ans = []
for g in t :
if trget in g:
ans.append(g)
# リストが 空か判定 not
if not ans:
print('None')
else:
for a in ans :
print(a)