【发布时间】:2016-05-03 17:30:49
【问题描述】:
我被指派创建一个应用程序,该应用程序采用用户的名字和第二名(确保它们不超过 10 个字符)并根据此网格计算他们的“幸运姓名编号”:
例如,约翰·史密斯将是:
= (1 + 6 + 8 + 5) + (1 + 4 + 9 + 2 + 8)
= 20 + 24
然后将每个值中的数字相加:
= (2 + 0) + (2 + 4)
= 2 + 6
= 8
这是我目前的代码:
while True:
first_name = input("What is your first name? ")
if len(first_name) < 10:
print("Hello " + first_name + ", nice name!")
break
else:
print("First name is too long, please enter a shorter name.")
while True:
second_name = input("What is your second name? ")
if len(second_name) < 10:
print ("Wow, " + first_name + " " + second_name + " is a really cool name. Let's see how lucky you are...")
break
else:
print ("Second name is too long, please enter a shorter name.")
但是,我不确定下一步是什么,因为我需要获取名称中的每个字母并将其设为特定值。
我能想到的唯一方法是列出每个字母及其分配的值,如下所示:
A = 1
B = 2
C = 3
D = 4
E = 5
F = 6
G = 7
H = 8
I = 9
J = 1
K = 2
L = 3
M = 4
N = 5
O = 6
P = 7
Q = 8
R = 9
S = 1
T = 2
U = 3
V = 4
W = 5
X = 6
Y = 7
Z = 8
fletter_1 = first_name[0]
fletter_2 = first_name[1]
fletter_3 = first_name[2]
fletter_4 = first_name[3]
fletter_5 = first_name[4]
fletter_6 = first_name[5]
fletter_7 = first_name[6]
fletter_8 = first_name[7]
fletter_9 = first_name[8]
fletter_10 = first_name[9]
print fletter_1 + fletter_2 + fletter_3 + fletter_4 + fletter_5 + fletter_6 + fletter_7 + fletter_8 + fletter_9
但这是一个极其漫长的过程,并不是最好的编码方式。
由于我不确定该怎么做,请有人指导我如何以最好的方式完成下一步。
【问题讨论】:
标签: python python-3.x