for
. , for
"A"
"+"
, . :
def lettertograde(letter):
letter, *modifier = letter
grade = keydict[letter]
if "+" in modifier:
grade += 0.3
elif "-" in modifier:
grade -= 0.3
return grade
a, *b = ...
splat , :
a, *b = "A" # a = "A", b = []
a, *b = "A+" # a = "A", b = ["+"]
a, *b = "A-" # a = "A", b = ["-"]
a, *b = "Good job!" # a = "G", b = ["o", "o", "d", " ", "j", "o", "b", "!"]
a, *b = "" # ValueError("not enough values to unpack (expected at least 1, got 0)")
N.B. .
a, *b, c, *d = "anything" # SyntaxError("two starred expressions in assignment")