获取循环的迭代以在同一行上输出

我需要输入一系列文本,并将它们与数字和一些格式组合在一起。问题是我不知道这一系列输入事先会有多少个元素。我知道这对于一定数量的输入很容易做到,但我需要一个可以根据需要迭代尽可能多的函数。


所以基本上我需要取'苹果香蕉樱桃......'和'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


MYYA
浏览 136回答 2
2回答

犯罪嫌疑人X

这就是你想要的:fruits = ["apple", "banana", "cherry"]maxfruit ="5"print("{" + ", ".join(fruit + ": " + maxfruit for fruit in fruits) + "}")另一种解决方案很简单:repr({fruit: maxfruit for fruit in fruits})

慕丝7291255

一种方法是这样的:fruits = ['banana', 'strawberry', 'cherry']max_num = 5from collections import defaultdictresult = defaultdict(dict)for x in fruits:    result[x] = max_numstr(dict(result))"{'banana': 5, 'strawberry': 5, 'cherry': 5}"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java