简单Python帮助
两个修复:,main应该对返回的列表进行排序,for循环应该在一行上打印所有数字 这就是我要回答的问题,我想我明白了,但我上面解释的两个错误需要帮助:简单Python帮助,python,Python,两个修复:,main应该对返回的列表进行排序,for循环应该在一行上打印所有数字 这就是我要回答的问题,我想我明白了,但我上面解释的两个错误需要帮助: 在main中,生成一个大于5小于13的随机整数。在自己的行上打印此号码 以随机整数作为唯一参数调用makelist函数 在makelist函数中创建一个空列表 使用循环将与随机整数参数相等的元素添加到列表中。所有新列表元素都必须是1到100(含)之间的随机整数。复制品可以 将列表返回到main 回到main,捕获返回的列表并对其进行排序 最后,使
print(n,)
如果您想像打印示例输出一样打印项目,则逗号位置就是问题所在。你看,python中的括号既用于封闭数学/逻辑表达式,也用于元组。如果想要一个1项元组,会发生什么<代码>(n)与n
相同。为了解决这个问题,python将(n,)
理解为一个元组
因此,若要按需要打印项目,请使用:
for n in sorted(elements):
print (n),
print() # This last one is only to go down a line
# for any further prints
编辑:另外,如果您想要一个介于1和100之间的
random\u int
,请使用random.randint(1100)
,而不是101
我会在makelist函数中对列表进行排序。除此之外,您还应该从print(n,)
中删除逗号。否则,您的代码基本上解决了这个问题。下次你的问题要更具体一些
编辑:对列表中的每个元素调用eachprint()
,将在换行符(垂直)上打印每个元素。由于需要去掉逗号,'.join(map(str,sorted(elements))
将列表转换为字符串,每个元素之间用空格分隔
import random
def main():
random_int = random.randint(6, 12)
print ("The list size will be %d" %random_int)
elements = makelist(random_int)
print("This sorted list is %s" %' '.join(map(str, sorted(elements))) )
def makelist(random_int):
number_list = []
for count in range(random_int):
number_list.append(random.randint(1, 100))
return number_list
像这样做
import random
def main():
random_int = random.randint(6, 12)
print ('List size will be %d' % random_int)
elements = makelist(random_int)
print('Here is the sorted list:')
print( ' '.join(map(str, sorted(elements))) )
def makelist(random_int):
number_list = []
for count in range(random_int):
number_list.append(random.randint(1, 100))
return number_list
main()
兴趣线是
print( ' '.join(map(str, sorted(elements))) )
它可以做一些事情
sorted(elements)
返回列表的已排序副本
map(str, sorted(elements))
将整数元素映射(转换)为字符串。这只需对列表中的每个元素调用str
。这是必需的,因为join需要字符串的iterable
' '.join(map(str, sorted(elements)))
这个看起来很有趣的语法将从所有值中创建一个长字符串。它将使用“”(空格字符)作为每个元素和之间的值,将所有已排序并转换为字符串的元素合并为一个可以打印的长字符串。问题出在哪里?运行代码时会发生什么?您没有解释任何错误,它需要像我在那里提供的示例输出那样打印。:)现在它垂直打印。。。。需要水平:)我需要水平打印列表,而不是垂直打印。。。。这有意义吗:)它们可以用逗号分隔吗?它们不应该是…:(还有文本“列表大小将是”&“这是排序列表:”再次更新,这应该最终满足要求谢谢!:)问题,出于好奇,为什么使用“join(map(str,sorted(elements)))”。
' '.join(map(str, sorted(elements)))