[Python] Grundkenntnisse in AtCoder

AtCoder-Anfänger können Probleme lösen Notieren Sie sich alle nützlichen Kenntnisse.

Eingang

Empfangen verschiedener Eingaben.

Briefe erhalten

S = input()

Nummern empfangen

N = int(input())

Leere Nummern empfangen

A,B = map(int,input().split())

Empfangen Sie die Anzahl der Eingänge und die Anzahl der Eingänge Das Schreiben in eckigen Klammern wird als "Einschlussnotation" bezeichnet.

N = int(input()) #Anzahl der Eingänge
l = list(int(input()) for _ in range(N)) #Holen Sie sich N numerische Eingaben als Liste
#Oder
l = [int(input()) for _ in range(N)] #Holen Sie sich N numerische Eingaben als Liste

Empfängt die Anzahl der Eingaben und empfängt leere Nummern für diese Anzahl von Malen

Q = int(input())
L = [0]*Q
R = [0]*Q

for i in range(Q):
    L[i], R[i] = map(int, input().split())

#Oder
l = list(list(map(int, input().split())) for _ in range(Q))
l = [list(map(int,(input().split()))) for _ in range(Q)]

Wenn Sie die Zeichenfolge später ändern möchten, erhalten Sie sie als Zeichenliste

Python #Eingang
T = list(input())
T[0] = "p"
print("".join(T))
python

Ausgabe

Ausgabeliste mit Leerzeichen

l = [1,2,3]
print(*l)
1 2 3

Ausgabeliste ohne Leerzeichen join

l = [1,2,3]
l = map(str,l) #Da Join für eine Zeichenfolge gilt, konvertieren Sie diese in eine Zeichenfolge
print("".join(l))
123

format

name = "Suzuki"
height = 170
weight = 60

print("{0}Ist groß{1}cm, Gewicht{2}kg".format(name,height,weight))
Herr Suzuki ist 170 cm groß und wiegt 60 kg.

Zeichenfolge wiederholen, Zeichenfolge multiplizieren

s = "Python"
print(s*3)
PythonPythonPython

Dreiecksoperator

flag = 1

print("Yes" if flag else "No")
print("Yes" if not flag else "No")
Yes
No

Berechnen Sie die Formel aus der Zeichenfolge eval

print(eval("1+2"))
3

Summe jeder Ziffer

Konvertieren Sie eine Zahl in eine Zeichenfolge und teilen Sie sie für jede Ziffer in Zahlen auf, um die Summe zu ermitteln

x = 1357

sum(int(i) for i in str(x))
#Oder
sum(list(map(int, str(x))))

Absolutwert

abs(-2)

Waren und Rest

x = 10; y = 3

q = x // y
mod = x % y
q, mod = divmod(x, y)

aufführen

Sortieren In absteigender Reihenfolge sortieren

l = [1,3,5,2,4]

l.sort()
l2 = sorted(l) #Geben Sie eine andere Variable ein

l.sort(reverse = True) #In absteigender Reihenfolge sortieren
l2 = sorted(l, reverse = True) #In absteigender Reihenfolge sortieren und eine andere Variable eingeben

Nach zweitem Element sortieren

l = [[1,5],[2,2],[3,4]]

l.sort(key=lambda x:x[1])
print(l)
[[2, 2], [3, 4], [1, 5]]

Schnittbetrieb Ausgabeliste in umgekehrter Reihenfolge

l = [1,2,3,4,5]
print(l[2:]) #Zweitens und danach
print(l[:2]) #Bis zur Sekunde
print(l[2:4]) #Vom 2. bis 4 ..
print(l[-2:]) #Zwei von hinten
print(l[::-1]) #Ausgabeliste in umgekehrter Reihenfolge
print(l[::2]) #Überspringe eins
print(l[1::2]) #Überspringe eins nach dem anderen
[3, 4, 5]
[1, 2]
[3, 4]
[4, 5]
[5, 4, 3, 2, 1]
[1, 3, 5]
[2, 4]

enumerate Listenindex und Element gleichzeitig abrufen

l = ["Landessprache","Mathematik","Wissenschaft","Gesellschaft","Englisch"]

#Das zweite Argument ist der Startindex
for i,subject in enumerate(l, 1):
    print(str(i)+"Der zweite ist"+subject)
Die erste ist die Landessprache
Der zweite ist Mathematik
Der dritte ist die Wissenschaft
Viertens ist die Gesellschaft
Fünftens ist Englisch

Maximales Engagement, minimales gemeinsames Vielfaches

from fractions import gcd

x = 8
y = 12

gcd(x,y) #Maximales Engagement
(x*y)//gcd(x,y) #Minimales gemeinsames Vielfaches

Reihenfolge, Kombination

from itertools import permutations, combinations

balls = [1, 2, 3]
print(list(permutations(balls, 3)))  #Permutation
print(list(combinations(balls, 2)))  #Kombination
[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]
[(1, 2), (1, 3), (2, 3)]

ASCII-Code ord, chr

【ord】 In ASCII-Code konvertieren 【chr】 Konvertieren Sie von ASCII-Code in Zeichen

151 A - Next Alphabet コメント 2020-02-08 172153.png

c = input()
print(chr(ord(c) + 1))

Primzahlurteil

Um die Primzahl zu bestimmen, prüfen Sie, ob eine bis zu $ \ sqrt {n} $ teilbare Zahl vorhanden ist.

def is_prime(n):
    if n == 1:
        return False
    for i in range(2,int(n**0.5)+1):
        if n % i == 0:
            return False
    return True

Abstand zwischen zwei Punkten

import numpy as np

a = np.array((1,2))
b = np.array((5,6))

distance = np.linalg.norm(a-b)

Initialisierung im Unendlichen

f_inf = float('inf')
f_inf_minus = -float('inf')

Entfernen Sie doppelte Werte

l = [4,2,1,3,4,3,2]

print(set(l))
{1, 2, 3, 4}

Überprüfen Sie die Anzahl der Vorkommen des Alphabets

import string

val_str = "hello everyone"

d = {}

alphas = string.ascii_lowercase
for key in alphas:
    d[key] = 0

for key in val_str:
    if key in alphas:
        d[key] += 1

for i in d:
    print("{0} : {1}".format(i,d[i]))
a : 0
b : 0
c : 0
d : 0
e : 4
f : 0
g : 0
h : 1
i : 0
j : 0
k : 0
l : 2
m : 0
n : 1
o : 2
p : 0
q : 0
r : 1
s : 0
t : 0
u : 0
v : 1
w : 0
x : 0
y : 1
z : 0

Bei der Prüfung nur was erscheint

import string
from collections import defaultdict
val_str = "hello everyone"

d = defaultdict(int)

for key in val_str:
    d[key] += 1

for i in d:
    print("{0} : {1}".format(i,d[i]))
h : 1
e : 4
l : 2
o : 2
  : 1
v : 1
r : 1
y : 1
n : 1

2 Minuten suchen

146 C - Buy an Integer image.png

A,B,Z = [int(i) for i in input().split()]

max = 10 ** 9 + 1
min = 0

while max - min > 1:
    avr = (max + min) // 2
    sum = A * avr + B * len(str(avr))
    if sum <= Z:
        min = avr
    else:
        max = avr

print(min)

Ausgabeindex in der Reihenfolge der Punktzahl

Ausgabe mit dict

l = [7,6,13,10,7]

dic = {}
for i,score in enumerate(l):
    dic[i+1] = score

dic = sorted(dic.items(), key=lambda x:x[1], reverse = True)

for i in dic:
    print("{0}, score:{1}".format(i[0],i[1]))
3, score:13
4, score:10
1, score:7
5, score:7
2, score:6

Im Gegenteil, das Ranking wird ausgegeben

l = [7,6,13,10,7]
l2 = sorted(l, reverse = True)

for i in l:
    print(l2.index(i) + 1)
3
5
1
2
3

Recommended Posts

[Python] Grundkenntnisse in AtCoder
Täglicher AtCoder # 36 mit Python
AtCoder # 2 jeden Tag mit Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 6 in Python
Täglicher AtCoder # 18 in Python
Täglicher AtCoder # 53 in Python
Täglicher AtCoder # 33 in Python
Täglicher AtCoder # 7 in Python
AtCoder # 24 jeden Tag mit Python
Täglicher AtCoder # 37 in Python
AtCoder # 8 jeden Tag mit Python
Täglicher AtCoder # 42 in Python
Grundlegende Sortierung in Python
Täglicher AtCoder # 21 mit Python
Täglicher AtCoder # 17 mit Python
Täglicher AtCoder # 38 in Python
Täglicher AtCoder # 54 in Python
Täglicher AtCoder # 11 in Python
Täglicher AtCoder # 15 in Python
Täglicher AtCoder # 47 mit Python
Täglicher AtCoder # 45 mit Python
AtCoder # 30 jeden Tag in Python
Täglicher AtCoder # 40 mit Python
Täglicher AtCoder # 10 mit Python
AtCoder # 5 jeden Tag mit Python
Täglicher AtCoder # 28 in Python
Täglicher AtCoder # 39 in Python
Täglicher AtCoder # 20 in Python
Täglicher AtCoder # 19 in Python
Täglicher AtCoder # 52 in Python
Täglicher AtCoder # 3 in Python
Täglicher AtCoder # 14 mit Python
Täglicher AtCoder # 50 mit Python
Täglicher AtCoder # 26 mit Python
Täglicher AtCoder # 4 mit Python
Täglicher AtCoder # 43 in Python
Täglicher AtCoder # 29 in Python
Jeden Tag mit Python AtCoder # 22
Täglicher AtCoder # 49 in Python
Täglicher AtCoder # 27 in Python
AtCoder # 1 jeden Tag mit Python
Grundkenntnisse in Python
Täglicher AtCoder # 25 mit Python
Täglicher AtCoder # 16 in Python
Täglicher AtCoder # 12 in Python
Täglicher AtCoder # 48 in Python
Täglicher AtCoder # 23 in Python
Täglicher AtCoder # 34 in Python
Täglicher AtCoder # 51 mit Python
Täglicher AtCoder # 31 in Python
Jeden Tag mit Python AtCoder # 46
Täglicher AtCoder # 35 mit Python
AtCoder # 9 jeden Tag mit Python
Täglicher AtCoder # 44 mit Python
Jeden Tag mit Python AtCoder # 41
Atcoder ABC164 A-C in Python
Python-Eingabehinweis in AtCoder
Atcoder ABC167 A-D in Python
Atcoder ABC165 A-D in Python
Atcoder ABC166 A-E in Python