【发布时间】:2017-08-27 23:39:36
【问题描述】:
我正在尝试解决 USACO 培训中的一个测试用例:“你的车就在这里”。我试图分配字母数字值并将字符串中的每个字符相乘以获得产品。
例子:
C O M E T Q
3 * 15 * 13 * 5 * 20 * 17 = 994500
不幸的是,产品总是一团糟。
key = {
'A':1,
'B':2,
'C':3,
'D':4,
'E':5,
'F':6,
'G':7,
'H':8,
'I':8,
'J':10,
'K':11,
'L':12,
'M':13,
'N':14,
'O':15,
'P':16,
'Q':17,
'R':18,
'S':19,
'T':20,
'U':21,
'V':22,
'W':23,
'X':24,
'Y':25,
'Z':26
}
file = open("testdata.txt", "r")
message = file.readline(2)
for character in message:
preSignal = key[character]
s = preSignal*key[character]
print(s)
【问题讨论】:
-
你基本上在每个新字符上覆盖
s——你没有“携带”任何东西。在下面查看丹尼尔的答案... -
如果您注意到代码中以及@blacksite 提到的内容,您实际上是在对每个字母的值进行平方
标签: python string file dictionary character