首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >python提升篇(二)-----实例练习第01day

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

作者头像
用户5410712
发布2022-06-01 17:51:04
发布2022-06-01 17:51:04
3380
举报
文章被收录于专栏:居士说AI居士说AI

回忆与追寻

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

前言

从python基础篇到现在,我们已经学习了好几个函数,在以后的文章中,我们会逐渐的深入学习,通过一个个实际的例题,继续与大家一起学习python基础语法,自定义函数,模块,API等等,另外,对于代码的讲解,我们都会加以注释,不好懂的地方,我们尽可能的打印测试每一步的结果,希望大家都能看懂才是最好。

1.三数排序

Question: 输入三个整数x,y,z,请把这三个数由小到大输出。

代码语言:javascript
复制
# -*- 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,能组成多少个互不相同且无重复数字的四位数?各是多少?

代码语言:javascript
复制
# # -*- 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 乘法口诀表

代码语言:javascript
复制
# -*- 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()

结语

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档