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)