Python编程 基础练习(一)

简介: 经典的题目分析和代码实现

1. 求素数


fromdatetimeimportdatetime# 求多少以内的素数n=100000count=0start=datetime.now()
foriinrange(2, n+1):
forjinrange(2, i):
ifi%j==0:   # 是合数breakelse:  # 是素数count+=1# print(i, end=" ")delta= (datetime.now() -start).total_seconds()
print(count, "\n用时:{}s".format(delta))

求10万以内的素数,有9592个,用时49.789252s。

671e32950c8e453081f22ce11af8ea14.gif


素数优化


fromdatetimeimportdatetime# 求多少以内的素数n=100000count=1# 2是素数start=datetime.now()
foriinrange(3, n+1, 2):   # 大于2的偶数不可能是素数了forjinrange(3, int(i**0.5) +1, 2):
ifi%j==0:  # 是合数breakelse:   # 是素数count+=1# print(i, end=" ")delta= (datetime.now() -start).total_seconds()
print(count, "\n用时:{}s".format(delta))

求10万以内的素数,有9592个,用时0.162093s。

2.gif

通过对比可看出,通过素数优化,大大提高了算法的效率。


2. 打印菱形


观察规律,找对称性。

n=int(input("打印几行:"))
e=n//2foriinrange(-e, n-e):
print(" "*abs(i) +"*"* (n-2*abs(i)))

结果如下:

3.gif


3. 打印杨辉三角


row=int(input('打印杨辉三角前几行:'))
defprint_triangle(x):    # 打印几行tri= [1]    # 当前行所有元素pre= [1]    # 上一行所有元素n=1whilen<=x:
yieldtri# yield生成器函数  返回foriinrange(1, len(pre)):
# 中间的各个元素值 = 上一行相应位置的值 + 与前一位置元素的值tri[i] =pre[i-1] +pre[i]
# 每次计算完列表tri中的元素之后,通过append(1)来添加末尾的1tri.append(1)
# 得到后,传给上行pre=tri[:]
n+=1trianges=print_triangle(row)   # 传入参数foritemintrianges:
print(item)
运行结果如下:打印杨辉三角前几行:5[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]

结果如下:

4.gif


4. 打印斐波那契数列


deffibonacii(n):
ifn<=1:  # 0 1returnnelse:
return (fibonacii(n-1) +fibonacii(n-2))
x=int(input("输出前几项?: "))
ifx<=0:
print("请输入输入正数!")
else:
print("斐波那契数列前{}项:".format(x), end=" ")
foriinrange(1, x+1):
print(fibonacii(i), end=" ")

5. 求水仙花数


水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3 + 3^3 = 153)。

print("水仙花数:", end=" ")
foriinrange(100, 1000):   # 三位数ifi==sum([int(x) **3forxinstr(i)]):  # 求水仙花数print(i, end=" ")
else:
continue

结果如下:

6.gif

6. 模拟双色球随机选号


importrandomnum=int(input("请输入注数:"))
print("*"*16+" 双色球 {} 注 ".format(num) +"*"*16)
foriinrange(num):
flag=Truered_ball_list= []
whileflag:
# 红球 1-33中选red_ball=random.randint(1, 33)
ifred_ballnotinred_ball_list:
# 个位数的  前面加个0  变字符串ifred_ball<10:
red_ball="0{}".format(red_ball)
red_ball_list.append(red_ball)
else:
red_ball_list.append(str(red_ball))
# 选出6个不重复的红球号码iflen(red_ball_list) ==6:
flag=False# 蓝球  1-16中选blue_ball=random.randint(1, 16)
ifblue_ball<10:
blue_ball="0{}".format(blue_ball)
else:
blue_ball=str(blue_ball)
print("红球:"+" ".join(red_ball_list, ) +"   蓝球:"+blue_ball)
print("*"*45)

7.gif

目录
相关文章
|
2天前
|
数据采集 机器学习/深度学习 数据挖掘
探索Python编程之美:从基础到进阶
【9月更文挑战第4天】在数字时代的浪潮中,编程已成为一种新兴的“超能力”。Python,作为一门易于上手且功能强大的编程语言,正吸引着越来越多的学习者。本文将带领读者走进Python的世界,从零基础出发,逐步深入,探索这门语言的独特魅力和广泛应用。通过具体代码示例,我们将一起解锁编程的乐趣,并理解如何利用Python解决实际问题。无论你是编程新手还是希望提升技能的开发者,这篇文章都将为你打开一扇通往高效编程的大门。
|
3天前
|
数据采集 机器学习/深度学习 数据挖掘
探索Python编程之美:从基础到实战
【9月更文挑战第3天】本文旨在通过深入浅出的方式,带领读者领略Python编程语言的魅力。我们将从基本语法入手,逐步深入至高级特性,最终通过实战案例将理论知识与实践操作相结合。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的见解和技巧。
|
1天前
|
存储 开发者 Python
探索Python编程之美
【9月更文挑战第5天】在这篇文章中,我们将一起踏上一场Python编程的奇妙之旅。从基础语法到高级特性,我们将一步步揭开Python语言的神秘面纱。你将学习如何编写清晰、高效的代码,掌握函数、类和模块的使用,以及理解面向对象编程的核心概念。此外,我们还将探讨异常处理、文件操作等实用技能。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供宝贵的知识和技巧,让你在编程的道路上更加从容自信。
|
2天前
|
API C语言 开发者
Python如何成为跨平台编程的超级巨星:系统调用深度探索
【9月更文挑战第5天】Python 作为一种高级编程语言,凭借简洁的语法、丰富的库支持和强大的社区,迅速在编程界崭露头角。尤其在跨平台编程方面表现卓越,这得益于其解释器设计和对系统调用的深度整合。CPython 采用 C 语言编写,可为不同操作系统编译,使 Python 程序无需修改即可运行。Python 标准库提供了操作系统功能的抽象,如文件操作、进程控制等,隐藏了底层差异,实现了代码的统一。
18 7
|
3天前
|
存储 人工智能 数据挖掘
探索Python编程:从基础到进阶的旅程
【9月更文挑战第3天】在编程的世界里,Python以其简洁明了的语法和强大的功能库赢得了无数开发者的青睐。本文将带你走进Python的世界,从基础的数据类型和控制结构开始,逐步深入到面向对象编程(OOP)和异常处理等高级主题。无论你是初学者还是有一定经验的开发者,这篇文章都能为你提供新的视角和思考。
13 8
|
1天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到精通
【9月更文挑战第5天】本文将带你进入Python编程的世界,无论你是编程新手还是有一定基础的开发者,都可以通过本文快速掌握Python编程的基础知识和技能。我们将从Python的基本语法开始,逐步深入到面向对象编程、文件操作、网络编程等高级主题,最后还将介绍一些实用的Python库和框架,帮助你在实际项目中应用Python编程。通过阅读本文,你将能够编写出高效、简洁的Python代码,解决实际问题。
|
2天前
|
算法 程序员 Linux
Python编程入门:构建你的第一个程序
【9月更文挑战第4天】编程是现代技术发展的基石,而Python作为一门简洁、易学且功能强大的编程语言,已成为众多初学者的首选。本文将引导你通过一个简单的Python程序,探索编程世界的奥秘,并了解如何利用Python实现基本的算法逻辑。无论你是完全的新手还是希望巩固基础的开发者,这篇文章都将为你提供一个清晰的学习路径。从安装Python环境开始,到编写第一个程序,我们将一步步揭开编程的神秘面纱。
|
5天前
|
存储 人工智能 开发者
探索Python编程:从基础到高级
【8月更文挑战第33天】本文将带你进入Python的世界,从基础语法开始,逐步深入到高级特性。我们将通过实际代码示例,展示Python的强大功能和灵活性。无论你是初学者还是有经验的开发者,这篇文章都将帮助你提升Python编程技能。
|
1天前
|
Linux iOS开发 MacOS
Python系统编程高手进阶:跨平台兼容性?小菜一碟💪
【9月更文挑战第6天】当我们探讨Python系统编程时,跨平台兼容性至关重要。Python凭借其解释型语言特性和多平台解释器,确保了代码能够在Windows、Linux、macOS等多种环境中顺畅运行。本文将介绍Python跨平台运行的基本原理,以及如何处理文件路径差异和系统调用等问题,助你轻松应对跨平台挑战。
7 1
|
2天前
|
存储 Python
Python编程入门:从零开始的代码之旅
【9月更文挑战第4天】本文将带领初学者步入Python的世界,通过简明的语言和直观的例子,逐步揭示编程的乐趣。我们将一起构建基础的数据结构,探索控制语句的奥秘,并实现简单的函数。无论你是编程新手还是希望巩固基础,这篇文章都是你理想的起点。让我们开始吧,一步步将代码块搭建成思维的宫殿!
14 2
下一篇
DDNS