我在这里得到了用户的意见。 这是我的代码
num_array=list()
x=int(raw_input('Enter the numbers:'))
for i in range(int(x)):
n=raw_input("")
num_array.append(int(n))
print("\nThe numbers in ascending order are:%d" %(num_array.sort())
当我想打印数字时,它显示错误。 我希望输出看起来像这样
Enter the number:
5
4
3
2
1
The numbers in ascending order are 1 2 3 4 5
答案 0 :(得分:1)
这是您的代码
num_array=list()
x=int(raw_input('Enter the numbers:'))
for i in range(int(x)):
n=raw_input("")
num_array.append(int(n))
#print(sorted(num_array))
arr = sorted(num_array)
output = ""
for x in arr:
output = output + str(x) + " "
print(output)
答案 1 :(得分:1)
这可能是您想要的(用%
语法替换.format()
print语句)。
num_array.sort()
将对您的数组进行排序,但会返回None
(这就是您的print语句将尝试打印的内容)。另一方面,sorted
返回一个列表。
num_array = []
x = int(raw_input('Enter length of the array: '))
for i in range(int(x)):
n = raw_input("number '{}': ".format(i))
num_array.append(int(n))
print("\nThe numbers in ascending order are: {}".format(sorted(num_array)))
如果您不希望输出看起来像python列表,您可以这样做:
sorted_str = ' '.join(str(n) for n in sorted(num_array))
print("\nThe numbers in ascending order are: {}".format(sorted_str))