我正在尝试删除列表中的逗号和方括号[]。该程序要求用户在选择的范围内输入要随机化的值的数量,然后显示结果。当前程序打印为:
How many #s do you want? 10
Enter the lowest number to generate 1
Enter the highest number to generate 10
[1, 8, 6, 3, 6, 10, 4, 2, 10, 9]
但是我需要它显示为:
How many #s do you want? 10
Enter the lowest number to generate 1
Enter the highest number to generate 10
1 8 6 3 6 10 4 2 10 9
也许我做错了吗?有想法吗?
import random
def main():
numbers = int(input("How many #s do you want? "))
numbers_2 = int(input("Enter the lowest number to generate "))
numbers_3 = int(input("Enter the highest number to generate "))
pop = make_list(numbers, numbers_2, numbers_3)
print(pop)
num_string = ""
for i in sorted(pop):
num_string += str(i) + " "
return num_string
def make_list(numbers, numbers_2, numbers_3):
num_list = []
for numbers in range(numbers):
num_list.append(random.randint(numbers_2, numbers_3))
return num_list
main()
答案 0 :(得分:2)
您可以使用print(*pop)
进行此操作。
在给定几个参数(例如print(1, 2, 3)
时,print
命令将把它们全部打印出来,转换为字符串,并用空格分隔。
使用*
,您的数组pop
被解压缩,从而形成了print
函数的参数。
通过设置sep
参数,您甚至可以更改分隔符。例如,print(*pop, sep=",")
将给出1,8,6,3,6,10,4,2,10,9
。
答案 1 :(得分:1)
您正在返回列表,因此在输出中将其正确格式化。要控制格式,请使用print
例如
print(' '.join(map(str,pop)))