python提升篇(二)-----实例练习第01day

回忆与追寻

       如果没有如果,时间是否会为我们停留?曾经看过的夕阳,听过的潮落,都被时间掩埋,幻成泡沫;不论经历多少岁月,不论走过多远路途,我都深深怀念来时的我们,与君共勉!

前言

      从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()

结语

      今天的分享结束了,虽然代码比较简单,但里面的算法思想却不简单,其实,代码还有可以改进的地方,聪明的你们发现了吗?如有疑惑之处,欢迎后台咨询哦。

                                                        编辑:玥怡居士

                                                                   审核:小圈圈居士

往期精彩回顾

python提升篇(一)----必备函数

python学习历程之(八)----基础完结篇

python学习历程之----基础篇(七)

公众号ID:IT进阶之旅

扫码关注最新动态

在看点这里

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值