【Python】编程练习的解密与实战(一)

​****🌈个人主页:Sarapines Programmer
🔥 系列专栏: 《Python | 编程解码》
⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。

目录

[🪐1. 初识Python](#🪐1. 初识Python)

[🪐2. 实验报告一](#🪐2. 实验报告一)

🌍实验目的

🌍实验要求

🌍实验代码

🌍实验结果

🌍实验体会

📝总结


🪐1. 初识Python

Python是一种高级、通用、解释型的编程语言,具有简洁而清晰的语法,被广泛应用于软件开发、数据科学、人工智能等领域。以下是Python技术的一些主要特点和应用领域:

  1. 易学易用: Python的语法设计简单,容易学习和理解。这使得它成为初学者和专业开发人员的首选语言之一。

  2. 开源: Python是开源的,任何人都可以查看、修改和分发其源代码。这为开发者提供了自由和灵活性。

  3. 跨平台: Python可在多个操作系统上运行,包括Windows、Linux和macOS,使其成为跨平台开发的理想选择。

  4. 强大的社区支持: Python拥有庞大的全球开发者社区,用户可以获得丰富的文档、库和工具,方便解决各类问题。

  5. 广泛应用领域: Python在多个领域都有应用,包括Web开发、数据科学、机器学习、人工智能、自动化测试、网络编程等。

  6. 丰富的第三方库: Python拥有丰富的第三方库和框架,如NumPy、Pandas、Django、Flask等,提供了强大的工具来简化开发流程。

  7. 动态类型: Python是一种动态类型语言,允许开发者更加灵活地进行变量和对象的操作。

  8. 面向对象编程: Python支持面向对象编程,使得代码结构更加模块化、可维护性更强。

总体而言,Python是一门功能强大、灵活易用的编程语言,适用于各种规模和类型的项目,从小型脚本到大型应用,都能够得心应手。


🪐2. 实验报告一

🌍实验目的

  • 掌握 jupyter notebook 编程工具的基本用法。
  • 理解并熟悉函数声明、定义及调用。

🌍实验要求

  • 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?这四个数字是2、3、7、9呢?
  • 判断1000-2000之间有多少个素数,并输出所有素数。
  • 打印出所有的"四叶玫瑰数",所谓"四叶玫瑰数"是指一个四位数,其各位数字四次方和等于该数本身。
  • 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符输出的数并分别统计每一种类型的个数。
  • 打印九九乘法表。

🌍实验代码

  1. 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?这四个数字是2、3、7、9呢?
python 复制代码
A=[1,2,3,4]   #A=[2,3,7,9]
def Anumber(a):
       print(a[0]*100+a[1]*10+a[2],end=" ")
       print(a[0]*100+a[2]*10+a[1],end=" ")
       print(a[1]*100+a[2]*10+a[0],end=" ")
       print(a[1]*100+a[0]*10+a[2],end=" ")
       print(a[2]*100+a[0]*10+a[1],end=" ")
       print(a[2]*100+a[1]*10+a[0],end=" ")
a=[A[0],A[1],A[2]]
b=[A[0],A[1],A[3]]
c=[A[1],A[2],A[3]]
d=[A[0],A[2],A[3]]
aa=[a,b,c,d]
count=0
for i in aa:
       count+=6
       Anumber(i)
    print("\n共有%d个互不相同的数据"%count)
  1. 判断1000-2000之间有多少个素数,并输出所有素数。
python 复制代码
sum=0
for i in range(1000,2001,1):
    count=0
    for j in range(2,i,1):
        if (i%j==0 and count==0):
            count+=1
        elif (count!=0):break
        else:count=count
    if count==0:
        print(i,end=" ")
        sum+=1
print("\n\n1000至2000之间有%d个素数"%sum)
  1. 打印出所有的"四叶玫瑰数",所谓"四叶玫瑰数"是指一个四位数,其各位数字四次方和等于该数本身。
python 复制代码
 for i in range(1000,10000,1):
    a=i//1000
    b=(i-a*1000)//100
    c=i%100//10
    d=i%10
    if i==a**4+b**4+c**4+d**d:
        print(i,end=" ")
  1. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符输出的数并分别统计每一种类型的个数。
python 复制代码
 Str=input("请输入一行字符:")
countword=0 #英文字母
word=[]
countnull=0 #空格
null=[]
countnum=0 #数字
num=[]
countother=0 #其它字符
other=[]
for i in Str:
    if "a"<=i<="z" or "A"<=i<="Z":
        countword+=1
        word.append(i)
    elif "0"<=i<="9":
        countnum+=1
        num.append(i)
    elif i=="\x20":  #\x20是空格的转义字符
        countnull+=1
        null.append(i)
    else: countother+=1
        other.append(i)
print("统计该行字符其中:\n英文字母有%d个\n空格有%d个\n数字有%d个\n其它字符有%d个\n"%(countword,countnull,countnum,countother))
print("英文单词有:",word,"\n空格有:",null,"\n数字有:",num,"\n其他字符有:",other)
  1. 打印九九乘法表。
python 复制代码
for i in range(1,10,1):
    for j in range(1,i+1,1):
        if(i==j):
            print("%d×%d=%2d"%(i,j,i*j))
        else:print("%d×%d=%2d"%(i,j,i*j),end="  ")

🌍实验结果

1. 数字1、2、3、4组成:

数字 2 3 7 9 组成:

  1. 输出 1000-2000 之内全部素数
  1. 输出所有的四叶玫瑰数
  1. 统计各字符数
  1. 打印九九乘法表

🌍实验体会

  1. **问题一解决思路:**使用列表存储给定的四个互不相同的数字,通过排列组合生成所有可能的三位数组合,采用函数进行分组讨论,优化了问题求解的效率。

  2. **问题二解决思路:**使用常规的素数判断方法,通过两层循环判定每个数字是否为素数,实现了1000-2000范围内素数的输出。

  3. **问题三解决思路:**直接将四位数拆分,通过if判断解决问题,采用简单直观的方法完成任务。

  4. **问题四解决思路:**通过迭代循环遍历一行字符,使用计数器和列表存储器对英文字母、空格、数字和其他字符进行分类统计,注意处理字符类型的输入。

  5. **问题五解决思路:**使用两个嵌套迭代循环输出九九乘法表,通过格式化输出保证结果对齐美观,提升可读性。


📝总结

Python领域就像一片未被勘探的信息大海,引领你勇敢踏入Python数据科学的神秘领域。这是一场独特的学习冒险,从基本概念到算法实现,逐步揭示更深层次的模式分析、匹配算法和智能模式识别的奥秘。

渴望挑战Python信息领域的技术?不妨点击下方链接,一同探讨更多Python数据科学的奇迹吧。我们推出了引领趋势的💻 Python数据科学专栏:《Python | 编程解码》,旨在深度探索Python模式匹配技术的实际应用和创新。🌐🔍

相关推荐
2401_857439692 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna3 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_3 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
梧桐树04294 小时前
python常用内建模块:collections
python
Dream_Snowar4 小时前
速通Python 第三节
开发语言·python
XH华4 小时前
初识C语言之二维数组(下)
c语言·算法
南宫生4 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
不想当程序猿_5 小时前
【蓝桥杯每日一题】求和——前缀和
算法·前缀和·蓝桥杯
高山我梦口香糖5 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
落魄君子5 小时前
GA-BP分类-遗传算法(Genetic Algorithm)和反向传播算法(Backpropagation)
算法·分类·数据挖掘