【蓝桥杯】省赛无忧班(Python 组)第 2 期 9.1冒泡排序

n = int(input())
a = list(map(int, input().split()))
# 循环 n - 1 次
for i in range(n - 1):
    # 第 i 次从 a[0] 到 a[n-i-1]
    for j in range(n - i - 1):  # 注意这里应该是 n - i - 1
        if a[j] > a[j + 1]:  # 注意这里应该是 a[j + 1]
            a[j], a[j + 1] = a[j + 1], a[j]  # 交换元素
# 打印排序后的数组
print(' '.join(map(str, a)))  # 注意 Print 应为 print,并且这里是打印整个数组



'''
print(' '.join(map(str, a)))
这行代码做了几件事:

map(str, a):map 是一个内置函数,它接受一个函数和一个或多个可迭代对象作为参数,并返回一个迭代器,该迭代器产生将函数应用于每个可迭代对象中的项目的结果。在这里,str 是将整数转换为字符串的函数,a 是一个整数列表。因此,map(str, a) 将列表 a 中的每个整数转换为其对应的字符串形式。

' '.join(...):join 是一个字符串方法,它接受一个可迭代对象(如列表或元组)作为参数,并返回一个由该可迭代对象中所有字符串元素连接而成的新字符串。在这里,我们使用空格 ' ' 作为分隔符,因此每个字符串元素之间都会有一个空格。

print(...):最后,print 函数将连接后的字符串打印到控制台。

综上所述,这行代码的目的是将列表 a 中的整数转换为字符串,并用空格分隔它们,然后打印出这个由空格分隔的字符串。例如,如果 a = [1, 2, 3, 4],那么这行代码将打印:

1 2 3 4
这种技巧在需要将列表的内容以某种方式格式化并输出时非常有用,特别是在调试或快速查看列表内容时。
'''
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值