python-返回和打印不会给出相同的结果
我试图做的是将输入的字符串用逗号分隔,并将其更改为list,然后将每个list作为一个键打印相关值python-返回和打印不会给出相同的结果,python,Python,我试图做的是将输入的字符串用逗号分隔,并将其更改为list,然后将每个list作为一个键打印相关值 def main(): myDict = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5....} u_input = input("Enter a letter") myList = [x.strip() for x in u_input.split(',')] result = searchDict(myList) print(re
def main():
myDict = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5....}
u_input = input("Enter a letter")
myList = [x.strip() for x in u_input.split(',')]
result = searchDict(myList)
print(result)
def searchDict(key):
for ml in key:
value = myDict.get(ml, "not found")
re = []
re.append(value)
print('-'.join(re)) #this one shows each value for each entered key separated by comma but it does not print it in one line also prints 'None' on the end
#res = '-'.join(re)
#return res //this only shows the value for the first key only even if I enter multiple letter
main();
问题是,如果我返回'res'而不是打印它,我只得到第一个键值
打印输出(如果输入a、b):1、2、无
返回
1
的输出这些行缩进是否正确
for ml in key:
value = myDict.get(ml, "not found");
re = [];
re.append(value)
我想你希望它这样做:
re = []
for ml in key:
value = myDict.get(ml, "not found")
re.append(value)
return '-'.join(re)
顺便说一句,Python中没有使用分号。我认为这是因为在每个循环中都重置了
re
。尝试将re=[]
置于for循环之外。如果显示输出,这可能是一个更好的问题@Kasra,我已经包括了我得到的。另外,你必须小心缩进、语法和代码验证!!拒绝投票@卡斯拉,好的,明白了,谢谢,成功了。我只是在这里再次输入代码,这就是原因。