回忆与追寻
如果没有如果,时间是否会为我们停留?曾经看过的夕阳,听过的潮落,都被时间掩埋,幻成泡沫;不论经历多少岁月,不论走过多远路途,我都深深怀念来时的我们,与君共勉!
前言
从python基础篇到现在,我们已经学习了好几个函数,在以后的文章中,我们会逐渐的深入学习,通过一个个实际的例题,继续与大家一起学习python基础语法,自定义函数,模块,API等等,另外,对于代码的讲解,我们都会加以注释,不好懂的地方,我们尽可能的打印测试每一步的结果,希望大家都能看懂才是最好。
1.三数排序
Question: 输入三个整数x,y,z,请把这三个数由小到大输出。
# -*- coding:utf-8 -*-
#定义空列表存放我们需要排序的数字
raw = []
#根据提示输入我们想要排序的数字
for i in range(5):
x = int(input('输入你想要排序的数字%d: ' % i))
# 存放输入的数字到raw列表中
raw.append(x)
raw_ori = raw.copy() # 此处有bug
for i in range(len(raw)):
for j in range(i, len(raw)):
# print("当前i:{} vs j:{}".format(i, j))
if raw[i] > raw[j]:
# print("当前进行比较的i:{} vs j:{}".format(i, j))
raw[i], raw[j] = raw[j], raw[i]
print("排序前:", raw_ori)
print("排序后:", raw)
代码分析:代码中第10行,如果不采用copy函数,在最终的输出会有不一的结果,区别在于复制和赋值的不同哦,欢迎debug(调试)
2. 数字组合
Question: 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的四位数?各是多少?
# # -*- coding:utf-8 -*-
# 思路:遍历全部可能性,把有重复的去掉
total = 0
for i in range(1, 5):
for j in range(1, 5):
for k in range(1, 5):
for l in range(1, 5):
# 该句代码较为重要,注意思考,保证每一个数字都不重复
if (i != j) and (j != k) and (k != l) and (l != i):
print(i, j, k, l)
total += 1
print("\n一共可以有多少个这样的排列:", total)
3. 九九乘法表.
Question:输出 9*9 乘法口诀表。
# -*- coding:utf-8 -*-
# 9x9乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print('%d*%d=%2ld ' % (i, j, i * j), end='')
print()
结语
今天的分享结束了,虽然代码比较简单,但里面的算法思想却不简单,其实,代码还有可以改进的地方,聪明的你们发现了吗?如有疑惑之处,欢迎后台咨询哦。
编辑:玥怡居士
审核:小圈圈居士
▼
往期精彩回顾
▼
公众号ID:IT进阶之旅
扫码关注最新动态
在看点这里