我需要输入一系列文本,并将它们与数字和一些格式组合在一起。问题是我不知道这一系列输入事先会有多少个元素。我知道这对于一定数量的输入很容易做到,但我需要一个可以根据需要迭代尽可能多的函数。所以基本上我需要取'苹果香蕉樱桃......'和'5'并输出:str('{"apple": 5, "banana": 5, "cherry": 5, "...": 5}')这是我到目前为止:print("Enter fruits:")fruits = [x for x in input().split()]print("Enter Maximum Fruits per Day")maxfruit = input()def maxfruitfuncstep1(x,y): return str('"' + x + '"' + ": " + y)for i in fruits: print("{" + maxfruitfuncstep1(i,maxfruit) + "}")但这只是给了我输出:{"apple": 5}{"banana": 5}{"cherry": 5}如何让函数在打印输出中水平运行?我试过使用 ",".join 但这只是给了我:",a,p,p,l,e,",:, ,5
2 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
这就是你想要的:
fruits = ["apple", "banana", "cherry"]
maxfruit ="5"
print("{" + ", ".join(fruit + ": " + maxfruit for fruit in fruits) + "}")
另一种解决方案很简单:
repr({fruit: maxfruit for fruit in fruits})
慕丝7291255
TA贡献1859条经验 获得超6个赞
一种方法是这样的:
fruits = ['banana', 'strawberry', 'cherry']
max_num = 5
from collections import defaultdict
result = defaultdict(dict)
for x in fruits:
result[x] = max_num
str(dict(result))
"{'banana': 5, 'strawberry': 5, 'cherry': 5}"
添加回答
举报
0/150
提交
取消