我有一个嵌套字典,我用来提取值。我使用字母作为键,其值取决于字符串中的字母位置。
我正在尝试对其进行编码,以便在字符串中找到字母时,它会为字符串中的位置提取准确的值。我有3个位置 - “starter”和“finisher”分别是第一个和最后4个字符。其他任何事情都是“中期”。
我已经尝试将字符串中的字符位置视为一个整数,我可以很容易地将其输入到条件序列中。
def Calc(letterstring, data_table):
Places= len(string)
Score = 0.0
for i in range(Places):
letter= string[i]
if [i] >= int(3) and [i] <= ((Places)-4):
position_in_string = "Starter"
elseif [i] >= ((Places)-4):
position_in_string = "Finisher"
else:
position_in_string = "Mid"
position = (position_in_string)
Score += data_table[letter][position]
return Score
string = input("Insert your line here: ") # Something like ABCDEFGHIJKLMNOP
total_score= (Calc((string), (data_table)))
print (total_score)
我希望输出一个整数。
但如果我尝试这样做,我最终得到:
TypeError: unorderable types: list() >= int()
欢迎任何建议或意见!
答案 0 :(得分:0)
我建议的一些更改:
no idea why this is getting dorked up formatting
def Calc(letterstring, data_table):
Score = 0.0
ls = len(letterstring)
for i,letter in enumerate(letterstring):
if i < 4:
position_in_string = "Starter"
elif i >= (ls-4):
position_in_string = "Finisher"
else:
position_in_string = "Mid"
Score += data_table[letter][position_in_string]
return Score
instring = input("Insert your line here: ") # Something like ABCDEFGHIJKLMNOP
total_score= Calc(instring.upper(), data_table)
print (total_score)