本帖最后由 paypojie 于 2022-5-31 22:26 编辑
题目的原始地址 https://www.runoob.com/python/python-exercise-example37.html
题目:对10个数进行排序。
一般来说 看题目如果有思路的话 不会第一时间去搜索相关解析 而是直接去编辑器里写 或者看看案例怎么写的 然后自己动手写
看完案例后 我写下了第一行
[Python] 纯文本查看 复制代码 if __name__ == '__main__':
这行代码的意思是 只有这段代码是模块自身执行时 才会执行if下的代码块 如果是被其他模块引用的 就不会执行
https://www.zhihu.com/question/49136398 知乎的分享 今天晚上刷到的 大数据真强 下午写的 晚上就刷到了
然后定义一个变量N N的值为10 再定义一个变量L L的值为空列表
[Python] 纯文本查看 复制代码 N = 10
L = []
接下来 写一个for循环 for循环的次数由N决定 由第一行代码可知 N为10 for循环下的缩进语句要求用户输入内容 然后往空列表添加这些内容
[Python] 纯文本查看 复制代码 for i in range(N):
yonghu = int(input('请输入数字: '))
L.append(yonghu)
随后 再写一个for循环
[Python] 纯文本查看 复制代码
# 外层循环
for k in range(N):
下面为内层循环 内层循环的意思是 循环0次到N-k-1次 表示N的值减去当前正在遍历的元素索引 再减一 表示10减掉已经排好序的元素个数再减1 为什么要减1呢 因为要为后面的条件判断做准备 如果当前循环的索引所对应的值比后面的索引对应的值大 那就交换 也就是说 前者大于后者 前者就变成后者的值 后者变成前者的值
# 内层循环
[Python] 纯文本查看 复制代码 for k in range(0,N-k-1):
# if L[k] < L[k+1]:
# L[k],L[k+1] = L[k+1],L[k]
if L[k] > L[k+1]:
L[k],L[k+1] = L[k+1],L[k]
完整代码
[Python] 纯文本查看 复制代码 if __name__ == '__main__':
N = 10
L = []
print('请输入十个数: ')
for i in range(N):
yonghu = int(input('请输入数字: '))
L.append(yonghu)
for k in range(N):
# print(min1)
# j = k
for k in range(0,N-k-1):
# if L[k] < L[k+1]:
# L[k],L[k+1] = L[k+1],L[k]
if L[k] > L[k+1]:
L[k],L[k+1] = L[k+1],L[k]
print(L)
写的很一般 献丑啦
|