def calculate_average():
mylist = []
for i in range (10):
input = int(input("Enter an integer: "))
mylist.append(integer)
avg = sum(numbers) / len(numbers)
aboveavg = ([x for x in numbers if x > average])
print("\nThe average is:", avg)
print("Numbers greater than average:")
print(str(aboveavg).strip('[]'))
我得到了最后一行有逗号的输出。例如
Numbers greater than average:
14, 15
而不是:
14 15
如何修复代码?我使用加入吗? (我在课堂上还没有学到的东西)
答案 0 :(得分:2)
你可以使用join,它在打印之前连接一个字符串:
print(' '.join(str(elt) for elt in aboveavg))
或在同一行上一次打印一个元素的for循环:
for elt in aboveavg:
print(str(elt), end=' ')
答案 1 :(得分:1)
是的,在这种情况下你应该使用str.join
。这是实现这一目标的内置方式:
print(' '.join(map(str, aboveavg)))
# or:
print(' '.join([str(x) for x in aboveavg]))
请务必注意,您只能加入str
个对象。您必须将要加入的可迭代元素转换为str
。您可以使用map
或理解来实现这一目标。
答案 2 :(得分:1)
您可以轻松完成此操作
print(" ".join([str(x) for x in aboveavg]))
答案 3 :(得分:1)
是。由于结果是列表,您可以使用join:
从列表中创建字符串print (' '.join(map(str, your_list)))
答案 4 :(得分:0)
不知道为什么每个人都加入......
print(*aboveavg)