Python的优缺点

Python的优点很多,简单的可以总结为以下几点。

  • 简单明了,学习曲线低,比很多编程语言都容易上手。
  • 开放源代码,拥有强大的社区和生态圈,尤其是在数据分析和机器学习领域。
  • 解释型语言,天生具有平台可移植性,代码可以工作于不同的操作系统。
  • 对两种主流的编程范式(面向对象编程和函数式编程)都提供了支持。
  • 代码规范程度高,可读性强,适合有代码洁癖和强迫症的人群。

Python的缺点主要集中在以下几点。

  • 执行效率稍低,对执行效率要求高的部分可以由其他语言(如:C、C++)编写。
  • 代码无法加密,但是现在很多公司都不销售卖软件而是销售服务,这个问题会被弱化。
  • 在开发时可以选择的框架太多(如Web框架就有100多个),有选择的地方就有错误。

Python的应用领域

目前Python在Web应用后端开发、云基础设施建设、DevOps、网络数据采集(爬虫)、自动化测试、数据分析、机器学习等领域都有着广泛的应用。

python开发神器

请注意,不要用Word和Windows自带的记事本。Word保存的不是纯文本文件,而记事本会自作聪明地在文件开始的地方加上几个特殊字符(UTF-8 BOM),结果会导致程序运行出现莫名其妙的错误。

可以选择微软出品的Visual Studio Code;Visual Studio Code可以跨!平!台!Windows、Mac和Linux通用。当然你也可以直接用我们熟悉的PyCharm,嘿嘿。

python可读性高 python可读性好差_开发语言

打印hello word

print('hello, world')
#输出
hello, world

python注释方式

1.单行注释 我们可以使用 # 号来注释

eg: nav = 1  #该处是申明一个变量nav

  print(nav) #该处打印nav的结果

  #print(nav)  这样也可以让着行代码不起效果

2.多行注释 我们可以使用成对出现 ‘’’ 代码 ‘’’ 三对单引号注释三行,也可以三对双引号注释三行,当然也可以注释更多。

'''nav = 1

nav2 = 2

nav3 = nav + nav2'''   这样以上三行就注释掉了。

加减乘除运算

"""
使用变量保存数据并进行加减乘除运算
"""
a = 1024
b = 4
print(a + b)    # 1028
print(a - b)    # 1020
print(a * b)    # 4096
print(a / b)    # 256

运算符

Python支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,运算符的优先级指的是多个运算符同时出现时,先做什么运算然后再做什么运算。

python可读性高 python可读性好差_开发语言_02

if语句的使用

在Python中,要构造分支结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他的标识符也是不可以)

百分制成绩转换为等级制成绩

要求:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;70分-80分(不含80分)输出C;60分-70分(不含70分)输出D;60分以下输出E

score = float(input('请输入成绩: '))
if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'E'
print('对应的等级是:', grade)

for-in循环

如果明确的知道循环执行的次数或者要对一个容器进行迭代,那么我们推荐使用for-in循环.

# 计算1~100求和的结果

sum = 0
for x in range(101):
    sum += x
print(sum)

需要说明的是上面代码中的range(1, 101)可以用来构造一个从1到100的范围,当我们把这样一个范围放到for-in循环中,就可以通过前面的循环变量x依次取出从1到100的整数。当然,range的用法非常灵活,下面给出了一个例子:

  • range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
  • range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
  • range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
  • range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。

知道了这一点,我们可以用下面的代码来实现1~100之间的偶数求和

sum = 0
for x in range(2, 101, 2):
    sum += x
print(sum)

输入两个正整数,计算它们的最大公约数和最小公倍数

提示:两个数的最大公约数是两个数的公共因子中最大的那个数;两个数的最小公倍数则是能够同时被两个数整除的最小的那个数。

x = int(input('x = '))
y = int(input('y = '))
# 如果x大于y就交换x和y的值
if x > y:
    # 通过下面的操作将y的值赋给x, 将x的值赋给y
    x, y = y, x
# 从两个数中较的数开始做递减的循环
for factor in range(x, 0, -1):
    if x % factor == 0 and y % factor == 0:
        print('%d和%d的最大公约数是%d' % (x, y, factor))
        print('%d和%d的最小公倍数是%d' % (x, y, x * y // factor))
        break

打印三角形图案

*
**
***
****
*****
*
   **
  ***
 ****
*****
*
   ***
  *****
 *******
*********
"""
打印三角形图案
Author: ncayu618
"""

row = int(input('请输入行数: '))
for i in range(row):
    for _ in range(i + 1):
        print('*', end='')
    print()


for i in range(row):
    for j in range(row):
        if j < row - i - 1:
            print(' ', end='')
        else:
            print('*', end='')
    print()

for i in range(row):
    for _ in range(row - i - 1):
        print(' ', end='')
    for _ in range(2 * i + 1):
        print('*', end='')
    print()

寻找水仙花数

说明:水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯特朗数,它是一个3位数,该数字每个位上数字的立方之和正好等于它本身,例如:python可读性高 python可读性好差_开发语言_03

for num in range(100, 1000):
    low = num % 10
    mid = num // 10 % 10
    high = num // 100
    if num == low ** 3 + mid ** 3 + high ** 3:
        print(num)
        
 #输出结果
153
370
371
407

输出乘法口诀表(九九表)

for i in range(1, 10):
    for j in range(1, i + 1):
        print('%d*%d=%d' % (i, j, i * j), end='\t')
    print()
    
#输出结果
1*1=1	
2*1=2	2*2=4	
3*1=3	3*2=6	3*3=9	
4*1=4	4*2=8	4*3=12	4*4=16	
5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81

输出斐波那契数列的前20个数

"""
输出斐波那契数列的前20个数
1 1 2 3 5 8 13 21 ...
"""

a = 0
b = 1
for _ in range(20):
    a, b = b, a + b
    print(a, end=' ')
    
#输出结果
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765

找出1~9999之间的所有完美数

"""
找出1~9999之间的所有完美数
完美数是除自身外其他所有因子的和正好等于这个数本身的数
例如: 6 = 1 + 2 + 3, 28 = 1 + 2 + 4 + 7 + 14
"""
import math

for num in range(1, 10000):
    result = 0
    for factor in range(1, int(math.sqrt(num)) + 1):
        if num % factor == 0:
            result += factor
            if factor > 1 and num // factor != factor:
                result += num // factor
    if result == num:
        print(num)
        
 #输出结果
1
6
28
496
8128