-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProject_Euler_Ex22.py
104 lines (81 loc) · 2.08 KB
/
Project_Euler_Ex22.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
from typing import List
import pandas as pd
import numpy as np
import string
"""
with open("p022_names.txt") as archivo:
a = archivo.read()
archivo.close()
a = a.strip().split(',')
print('A', a)
print('A listado', a[1:-1])
b = [x[1:-1] for x in a]
# b = [x for x in a]
print('B', b)
lista: List[str] = sorted(b)
print('lista ordenada', lista)
"""
"""
df = pd.read_table("p022_names.txt", delimiter=",")
print("df",df)
lista = df.to_numpy().tolist()
print("lista",lista)
lista = sorted(lista)
print("lista ordenada", lista)
"""
"""
alfabeto = [chr(chNum) for chNum in range(ord('A'), ord('Z') + 1)]
print(alfabeto)
n = "AARON"
def sumaNombre(nombre):
sumaletras = 0
name = list(nombre)
for i in name:
for j in alfabeto:
if i == j:
sumaletras += alfabeto.index(j) + 1
return sumaletras
prueba = sumaNombre(n)
snombre = []
print(lista[937])
print('suma nombre colin', sumaNombre(lista[937]), 'index', lista.index(lista[937]))
for i in lista:
snombre.append(sumaNombre(i))
total = 0
print(snombre[937] * (937 + 1))
print('index colin', lista.index(lista[937 + 1]))
print(snombre)
print(len(snombre))
for i in range(1, len(snombre)):
print(i, ' ', lista[i], 'suma nombre ', snombre[i])
total += snombre[i] * (lista.index(lista[i]))
print(total, 'el total:')
"""
import time
start = time.time()
file = open("p022_names.txt")
names = file.readlines()
file.close()
listNames = names[0].split(",")
listNames.sort()
print(listNames)
alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
alphabetScore = []
for i in range(len(alphabet)):
pair = []
pair.append(alphabet[i])
pair.append(i + 1)
alphabetScore.append(pair)
print(alphabetScore)
totalScore = 0
for i in range(len(listNames)):
indexScore = i + 1
wordScore = 0
for letter in listNames[i]:
for score in range(len(alphabetScore)):
if letter == alphabetScore[score][0]:
wordScore += alphabetScore[score][1]
totalScore = totalScore + (wordScore * indexScore)
print(totalScore)
elapsed = time.time() - start
print("Time elapsed:", elapsed, "sec.")