Простая программа Python для создания числовых значений, основанная на значениях Unicode, хотела бы получить советы по оптимизации моего кода

print("This program will calculate the numeric value of a name given as input.") name = input("Please enter your full name: ") name_list = name.split(' ') name_list2 = [] for x in name_list: y = list(x) for x in y: name_list2.append(x) print(name_list2) num_value = 0 for x in name_list2: y = ord(x) print("The numeric value of", x, "is", y) num_value = num_value + y print("The numeric value of your name is: ", num_value) 

Любые советы о том, как упростить это, приветствуются, с моими знаниями я не мог видеть более простой способ разбить список, разделить каждый символ (чтобы не добавлять значение пробела 32), а затем добавить их.

Вы можете перебирать имя и суммировать орды каждого символа, исключая пробелы из count, if not ch.isspace() :

 name = input("Please enter your full name: ") print("The numeric value of your name is: ", sum(ord(ch) for ch in name if not ch.isspace())) 

Если вы хотите, чтобы каждая буква использовала цикл for:

 name = input("Please enter your full name: ") sm = 0 for ch in name: if not ch.isspace(): y = ord(ch) print("The numeric value of", ch, "is", y) sm += y print("The numeric value of your name is: ", sm)