打印名称而不是值

时间:2019-03-12 09:56:37

标签: python python-3.x dictionary

我想用名称替换输出中的值,但是我不知道该怎么做。例如,用(cheese, eggs)代替(1, 5)。 我开始学习python,以及一些我不了解的其他相关主题的答案。

def printPairs(arr, n, sum):     

for i in range(0, n):    
    for j in range(i + 1, n):    
        if (arr[i] + arr[j] <= sum):    
                print("(", arr[i],", ", arr[j],")", sep="")    

cheese = 1  
eggs = 5  
banana = 7  
apple = -1  
bread = 5 

arr = [1, 5, 7, -1, 5]      
n = len(arr)  
sum = 10      
printPairs(arr, n, sum) 

输出:

(1, 5)  
(1, 7)  
(1, -1)  
(1, 5)  
(5, -1)  
(5, 5)  
(7, -1)  
(-1, 5)  

1 个答案:

答案 0 :(得分:1)

我可以推荐字典吗?

pairs = { 1: 'cheese', 5: 'eggs' ...}  # for all the values

然后将打印行更改为

 print("(", pairs[arr[i]],", ", pairs[arr[j]],")", sep="")