tpc5 inicio
This commit is contained in:
parent
741d95dd79
commit
2bd5481644
1 changed files with 40 additions and 0 deletions
40
TPC5/tpc5.py
Normal file
40
TPC5/tpc5.py
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
moedas_validas = ["1c", "2c", "5c", "10c", "20c", "50c", "1e", "2e"]
|
||||||
|
|
||||||
|
def format_saldo(saldo):
|
||||||
|
euros = saldo // 1
|
||||||
|
cents = (saldo - euros) * 100
|
||||||
|
return f"{euros}e{cents}c"
|
||||||
|
|
||||||
|
def main():
|
||||||
|
levantado = False
|
||||||
|
msg = ""
|
||||||
|
saldo = 0
|
||||||
|
for line in sys.stdin:
|
||||||
|
if not levantado and re.match(r"LEVANTAR\s*",line):
|
||||||
|
levantado = True
|
||||||
|
msg = "Introduza moedas."
|
||||||
|
elif levantado and re.match(r"MOEDA\s",line):
|
||||||
|
moedas = re.findall(r"(\d+)(\w)",line)
|
||||||
|
invalidas = []
|
||||||
|
for moeda in moedas:
|
||||||
|
if moeda.group(0) in moedas_validas:
|
||||||
|
valor = int(moeda.group(1))
|
||||||
|
if moeda.group(2) == "c":
|
||||||
|
valor = valor / 100
|
||||||
|
saldo += valor
|
||||||
|
else:
|
||||||
|
invalidas.append(moeda.group(0))
|
||||||
|
if len(invalidas) > 1:
|
||||||
|
msg += str(invalidas) + " - moedas invalidas; "
|
||||||
|
msg += "saldo = " + format_saldo(saldo)
|
||||||
|
elif
|
||||||
|
|
||||||
|
print(msg)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Loading…
Reference in a new issue