当前位置 : 主页 > 编程语言 > python >

Python学习笔记(二):运算符、分支、循环等基础内容

来源:互联网 收集:自由互联 发布时间:2022-06-15
注释:# 注释的内容 数字: 整数:不区分 int 和long 进制:0 xa 、0 o10 、0 b10 bool :T rue 、F alse 浮点数:3 .1415 复数:1 + 2j 字符串: 使用单双引号引用都可以,建议使用单引号,' pytho

注释:# 注释的内容

数字:

  • 整数:不区分int和long
  • 进制:0xa、0o10、0b10
  • bool:True、False
  • 浮点数:3.1415
  • 复数:1 + 2j

字符串:

  • 使用单双引号引用都可以,建议使用单引号,'python'或"python"
  • '''和"""单双三引号,可以多行注释,可以在其中自由使用单双引号
  • 在字符串前面加上r或R前缀,表示该字符串不做特殊处理

缩进:约定使用4个空格缩进

续行:

  • 在行尾使用\
  • 如果使用各种括号,认为括号内是一个整体,内部跨行不用\

标识符:

  • 只能包含字母、数字或下划线
  • 只能以字母或下划线开头
  • 不能是Python的关键字,例如def、class不能作为标识符
  • Python大小写敏感
  • 不允许使用中文
  • 不允许使用歧义单词,例如class_
  • Python中不要随便使用下划线开头的标识符

常量:

  • 一旦赋值就不能改变值的标识符
  • Python中无法定义常量

变量:赋值后,可以改变值的标识符

Python的语言类型:是动态、强类型语言

静态编译语言:

  • 实现声明变量类型,类型不能再改变
  • 编译时检查

动态编译语言:变量不需要事先声明,也不需要指定类型

强类型语言:不同类型之间操作,必须强制类型转换为同一类型,例如print('a' + 1)

弱类型语言:不同类型之间操作,自动隐式转换

算数运算符:+ - * / // % **
说明:/自然除,结果为浮点数,//整除,结果为整数

位运算符:& | ~ ^ << >>

比较运算符:

  • == != > < >= <=
  • 返回一个bool值(True、False
  • 1 < '1' 1 == '1'
  • 链式比较操作符:4 > 3 > 2

逻辑运算符:

  • 与and or not
  • 短路运算符:
  • and:如果第一个表达式为False,后面就没有计算的必要了,整个逻辑表达式一定为False
  • or:如果第一个表达式为True,后面就没有计算的必要了,整个逻辑表达式一定为True

赋值运算符:

  • a = min(3, 5)
  • += -= *= /= %=
  • x = y = z = 10说明:Python没有++、--

成员运算符:in、not in

身份运算符:is、is not

运算符优先级:算数运算符 > 位运算符 > 身份运算符> 成员运算符> 逻辑运算符
说明:遇到长表达式,可以多用括号

表达式:由数字、符号、括号和变量等组成

  • 算数表达式
  • 逻辑表达式
  • 赋值表达式:Python中,赋值即定义,如果一个变量已经定义,赋值相当于重新定义

程序控制:

  • 顺序:按照先后顺序一条条执行
  • 分支:根据不同的情况判断,条件满足时执行某条件下的语句
  • 循环:条件满足就反复执行,不满足就不执行或不再执行

单分支结构:
if语句:

# condition必须是一个bool类型,此处有一个隐式转换bool(condition)
if condition:
代码块

代码块:

  • 类似于if语句冒号后面就是一个语句块
  • if、for、def、class

真值表:

对象/常量

''空字符串

' '

'string'

0

>=1

<=-1

()空元组

[]空列表

{}空字典

None

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_02

多分支结构:

if...elif...else语句:

if condition1:
代码块1
elif condition2:
代码块2
elif condition3:
代码块3
...
else:
代码块4

分支嵌套:


if condition1:
代码块1
else:
if condition2:
代码块2
elif condition3:
代码块3
elif condition4:
代码块4
...
else:
代码块5

嵌套结构,可以是分支、循环的嵌套,可以互相嵌套多层

input()函数获取键盘输入,变量类型为字符串

while循环:


# 当条件满足即condition为True时,进入循环体,执行block
while condition:
block

for循环:


# range()函数
# 当可迭代对象中有元素可以迭代,进入循环体,执行block
for element in iteratable:
block

循环continue语句:中断当前循环的当次执行,继续下一次循环

循环break语句:终止当前循环

总结:

  • continue和break是循环的控制语句,只影响当前循环,包括while、for循环
  • 如果循环嵌套,continue和break也只影响语句块所在的那一层循环
  • continue和break不是跳出语句块,所以if condition: break不是跳出if,而是终止if外的break所在的循环

循环else子句:

while condition:
block
else:
block

for element in iteratable:
block
else:
block

说明:如果循环正常执行完毕,会执行else子句;如果使用break终止,else子句将不会执行


简单代码示例:

range()函数使用:

for i in range(3):
print(i, end=' ')
print()
for i in range(0, 3):
print(i, end=' ')
print()
for i in range(0, 6, 2):
print(i, end=' ')
print()
for i in range(3, 0, -1):
print(i, end=' ')
print()

Python学习笔记(二):运算符、分支、循环等基础内容_变量_03

for ... else ...使用:

for i in range(3):
print(i)
else:
print('done')

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_04

for i in range(10):
if i > 5:
break
else:
print('ok')

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_05

无结果输出

打印10以内的奇数:

for i in range(1, 10, 2):
print(i, end='、')

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_06

for i in range(1, 10):
if i % 2 == 0:
continue
print(i, end='、')

Python学习笔记(二):运算符、分支、循环等基础内容_循环_07

字符串拼接:

str1 = 'ABCD'
str2 = "EFGH"
print(str1 + str2)
print(type(str1 + str2))

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_08

给定一个不超过5位的正整数,判断其位数:

num = int(input('请输入一个不超过5位的正整数:'))
if num <= 0 or num > 99999:
print('给出的数字不符合要求')
else:
if num <= 9:
print('输入的是1位的正整数')
elif num <= 99:
print('输入的是2位的正整数')
elif num <= 999:
print('输入的是3位的正整数')
elif num <= 9999:
print('输入的是4位的正整数')
else:
print('输入的是5位的正整数')

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_09

Python学习笔记(二):运算符、分支、循环等基础内容_循环_10

num = int(input('请输入一个不超过5位的正整数:'))
if num >= 1000:
if num >= 10000:
print(5)
else:
print(4)
else:
if num >= 100:
print(3)
elif num >= 10:
print(2)
else:
print(1)

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_11

Python学习笔记(二):运算符、分支、循环等基础内容_循环_12

给定一个不超过5位的正整数,判断其位数及每位对应的数值:

while True:
val = input('请输入一个不超过5位的正整数:')
if val == 'q' or val == 'quit':
print('退出程序')
break
if not val.isdigit():
print('请输入大于0的正整数')
continue
num = int(val)
if num == 0 or num >= 100000:
print('输入的数字不在范围内')
continue
if num >= 1000:
if num >= 10000:
print('输入的数字为5位数,万位数' + str(num // 10000) + ',千位数' + str(num // 1000 % 10) + ',百位数' + str(num // 100 % 10) + ',十位数' + str(num // 10 % 10) + ',个位数' + str(num % 10))
else:
print('输入的数字为4位数,千位数' + str(num // 1000) + ',百位数' + str(num // 100 % 10) + ',十位数' + str(num // 10 % 10) + ',个位数' + str(num % 10))
else:
if num >= 100:
print('输入的数字为3位数,百位数' + str(num // 100) + ',十位数' + str(num // 10 % 10) + ',个位数' + str(num % 10))
elif num >= 10:
print('输入的数字为2位数,十位数' + str(num // 10) + ',个位数' + str(num % 10))
else:
print('输入的数字为个位数' + str(num))

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_13

num1 = num2 = int(input('请输入一个不超过5位的正整数:'))
if num1 >= 1000:
if num1 >= 10000:
res = 5
else:
res = 4
else:
if num1 >= 100:
res = 3
elif num1 >= 10:
res = 2
else:
res = 1
print('该正整数有' + str(res) + '位')
print('最高位到个位依次为:', end='')
for i in range(1, res + 1):
print(num1 // (10 ** (res - i)), end=' ')
num1 = num1 % (10 ** (res - i))
print('\n个位到最高位依次为:', end='')
for _ in range(res):
print(num2 % 10, end=' ')
num2 = (num2 - num2 % 10) // 10


Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_14

Python学习笔记(二):运算符、分支、循环等基础内容_变量_15

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_16

Python学习笔记(二):运算符、分支、循环等基础内容_变量_17

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_18

给定一个正整数,判断其位数:

num = int(input('请输入一个正整数:'))
count = 1
while True:
num = num // 10
if num == 0:
break
count += 1
print(str(count) + '位数')

Python学习笔记(二):运算符、分支、循环等基础内容_循环_19

Python学习笔记(二):运算符、分支、循环等基础内容_循环_20

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_21

Python学习笔记(二):运算符、分支、循环等基础内容_变量_22

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_23

打印一个边长为n的实心正方形:

val = input('请输入正方形边长:')
num = 1
len = int(val)
while num <= len:
print('* ' * len)
num += 1

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_24

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_25

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_26

打印一个边长为n的空心正方形:

num = int(input('请输入正方形边长:'))
for i in range(1, num + 1):
if i == 1 or i == num:
print('* ' * num)
else:
print('*' + ' ' * ((num - 2) * 2 + 1) + '*')

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_27

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_28

Python学习笔记(二):运算符、分支、循环等基础内容_变量_29

num = int(input('请输入正方形边长:'))
val = num // 2
for i in range(-val, num - val):
if i == -val or i == num - val - 1:
print('* ' * num)
else:
print('*' + ' ' * ((num - 2) * 2 + 1) + '*')

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_30

Python学习笔记(二):运算符、分支、循环等基础内容_循环_31

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_32

求100以内所有奇数的和:

num = 1
sum = 0
while num <= 100:
sum += num
num += 2
print('100以内所有奇数的和为:', sum)

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_33

sum = 0
for num in range(1, 100, 2):
sum += num
print('100以内所有奇数的和为:' + str(sum))

Python学习笔记(二):运算符、分支、循环等基础内容_变量_34

sum = 0
for num in range(1, 100):
if num % 2 != 0:
sum += num
print('100以内所有奇数的和为:' + str(sum))

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_35

求1000以内被7整除的前20个数:

count = 0
for i in range(0, 1000, 7):
count += 1
if count > 20:
break
print(i, end=' ')

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_36

判断学生成绩对应等级:

score = int(input('请输入学生成绩:'))
if score >= 90:
print('A')
elif score >= 80:
print('B')
elif score >= 70:
print('C')
elif score >= 60:
print('D')
else:
print('E')

Python学习笔记(二):运算符、分支、循环等基础内容_变量_37

Python学习笔记(二):运算符、分支、循环等基础内容_循环_38

输入三个正整数,比较大小,升序输出:

num1 = int(input('请输入第一个正整数:'))
num2 = int(input('请输入第二个正整数:'))
num3 = int(input('请输入第三个正整数:'))
maximum = median = minimum = 0
if num1 > num2:
if num3 >= num1:
maximum = num3
median = num1
minimum = num2
elif num3 <= num2:
maximum = num1
median = num2
minimum = num3
else:
maximum = num1
median = num3
minimum = num2
else:
if num3 >= num2:
maximum = num3
median = num2
minimum = num1
elif num3 <= num1:
maximum = num2
median = num1
minimum = num3
else:
maximum = num2
median = num3
minimum = num1
print(minimum, median, maximum)

Python学习笔记(二):运算符、分支、循环等基础内容_循环_39

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_40

Python学习笔记(二):运算符、分支、循环等基础内容_循环_41

给定n个正整数,求它们的算数平均数:

res = 0
count = 1
times = int(input('给定的正整数个数为:'))
while count <= times:
num = int(input('请输入第' + str(count) + '个数:'))
res+= num
count += 1
print('算数平均数为:' + str(res / times))

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_42

Python学习笔记(二):运算符、分支、循环等基础内容_循环_43

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_44

Python学习笔记(二):运算符、分支、循环等基础内容_循环_45

res = 0
times = int(input('给定的正整数个数为:'))
for i in range(1, times + 1):
num = int(input('请输入第' + str(i) + '个数:'))
res += num
print('算数平均数为:' + str(res / times))

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_46

Python学习笔记(二):运算符、分支、循环等基础内容_循环_47

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_48

Python学习笔记(二):运算符、分支、循环等基础内容_循环_49

求1到阶乘n之和:

# 1 * 1 = 1

# 1 * 2 = 2

# 1 * 2 * 3 = 6

# 1 * 2 * 3 * 4 = 24

# 1 * 2 * 3 * 4 * 5 = 120

# 1 * 2 * 3 * 4 * 5 * 6 = 720

val = int(input('请输入一个数:'))
sum = 0
res = 1
for i in range(1, val+1):
res *= i
sum += res
print('1到' + str(val) + '阶乘之和为:', sum)

Python学习笔记(二):运算符、分支、循环等基础内容_循环_50

Python学习笔记(二):运算符、分支、循环等基础内容_循环_51

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_52

val = int(input('请输入一个数:'))
sum = 0
for i in range(1, val + 1):
res = 1
for j in range(1, i + 1):
res *= j
sum += res
print('1到' + str(val) + '阶乘之和为:', sum)

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_53

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_54

Python学习笔记(二):运算符、分支、循环等基础内容_变量_55

判断一个数是否是质数(素数):

质数:一个大于1的自然数只能被1和它本身整除

num = int(input('请输入一个自然数:'))
for i in range(2, num):
if num % i == 0:
print(str(num) + '不是质数')
break
else:
print(str(num) + '是质数')

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_56

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_57

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_58

Python学习笔记(二):运算符、分支、循环等基础内容_循环_59

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_60

Python学习笔记(二):运算符、分支、循环等基础内容_变量_61

求100以内所有质数的和:

res = 0
for i in range(2, 101):
for j in range(2, i):
if i % j == 0:
break
else:
res += i
print(i, end='、')
print('\n100以内所有质数的和为:', res)

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_62

print(2, end='、')
res = 2
# 舍弃所有偶数
for i in range(3, 101, 2):
for j in range(3, int(i ** 0.5) + 1, 2):
if i % j == 0:
break
else:
res += i
print(i, end='、')
print('\n100以内所有质数的和为:', res)

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_63

打印常规(左下)形态九九乘法表:

for i in range(1, 10):
for j in range(1, i+1):
print(str(j) + '*' + str(i) + '=' + str(i * j), end='\t')
print()

Python学习笔记(二):运算符、分支、循环等基础内容_变量_64

for i in range(1, 10):
for j in range(1, i+1):
print('%d*%d=%d' % (j, i, j * i), end='\t')
print('')

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_65

打印左上形态九九乘法表:

for i in range(1, 10):
for j in range(1, 11 - i):
print('%d*%d=%d' % (j, (10 - i), j * (10 - i)), end='\t')
print()

Python学习笔记(二):运算符、分支、循环等基础内容_循环_66

打印右上形态九九乘法表:

for i in range(1, 10):
print((i - 1) * '\t\t', end='')
for j in range(1, 11 - i):
print('%d*%d=%d' % (j, (10 - i), j * (10 - i)), end='\t')
print()

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_67

另一种形态:

for i in range(1, 10):
print((i - 1) * '\t\t', end='')
for j in range(i, 10):
print('%d*%d=%d' % (i, j, i * j), end='\t')
print()

Python学习笔记(二):运算符、分支、循环等基础内容_变量_68

for i in range(1, 10):
for j in range(1, 10):
if i > j:
print('{} {} {:<3}'.format(' ', ' ', ' '), end=' ')
else:
print('{0}*{1}={2:<3}'.format(i, j, i * j), end=' ')
print()

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_69

说明:{2:<3}对应i * j,:<3冒号为分隔符,<表示左对齐,3表示宽度

打印右下形态九九乘法表:

for i in range(1, 10):
print((10 - i) * '\t\t', end='')
for j in range(i, 0, -1):
print('%d*%d=%d' % (j, i, j*i), end='\t')
print()

Python学习笔记(二):运算符、分支、循环等基础内容_循环_70

打印指定大小的菱形:

for i in range(1, 8):
if i <= 4:
print(' ' * (4 - i) + '*' * (2 * i - 1))
else:
print(' ' * (i - 4) + '*' * (7 % i * 2 + 1))

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_71

for i in range(-3, 4):
if i < 0:
i = -i
print(' ' * i + '*' * (7 - 2 * i))

Python学习笔记(二):运算符、分支、循环等基础内容_循环_72

打印任意大小的菱形:

num = int(input('请输入菱形的行数(必须为奇数):'))
for i in range(-(num//2), (num+1)//2):
if i <= 0:
i = -i
print(' ' * i + '*' * (num - 2 * i))

Python学习笔记(二):运算符、分支、循环等基础内容_循环_73

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_74

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_75

Python学习笔记(二):运算符、分支、循环等基础内容_循环_76

打印指定大小的对顶三角形:

for i in range(-7, 8, 2):
if i < -1:
i = -i
if i == -1:
continue
print((7 - i) // 2 * ' ' + i * '*')

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_77

打印任意大小的对顶三角形:

num = int(input('请输入对顶三角形的行数(必须为奇数):'))
a = num // 2
for i in range(-a, num - a):
if i < 0:
i = -i
print(' ' * (a - i) + '*' * (2 * i + 1))

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_78

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_79

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_80

打印闪电:

for i in range(-3, 4):
if i < 0:
print((-i) * ' ' + (4 + i) * '*')
elif i == 0:
print(7 * '*')
else:
print(3 * ' ' + (4 - i) * '*')

Python学习笔记(二):运算符、分支、循环等基础内容_变量_81

for i in range(-3, 4):
if i == 0:
print(7 * '*')
print((-i) * ' ' + (4 + i) * '*') if i < 0 else print(3 * ' ' + (3 - i) * '*')

Python学习笔记(二):运算符、分支、循环等基础内容_循环_82

打印斐波那契数列的第n项:

1、1、2、3、5、8、13、21、34、...,数列从第3项开始,每一项等于前两项之和

num = int(input('显示斐波那契数列第几项:'))
n1 = 1
n2 = 1
count = 3
if num <= 2:
print('斐波那契数列第' + str(num) + '项为:' + str(n1))
else:
while count <= num:
res = n1 + n2
n1 = n2
n2 = res
count += 1
print('斐波那契数列第' + str(num) + '项为:' + str(res))

Python学习笔记(二):运算符、分支、循环等基础内容_循环_83

Python学习笔记(二):运算符、分支、循环等基础内容_变量_84

Python学习笔记(二):运算符、分支、循环等基础内容_循环_85

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_86

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_87

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_88

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_89

打印100以内的斐波那契数列:

i = j = 1
while i < 100:
print(i, end=" ")
i, j = j, i + j

Python学习笔记(二):运算符、分支、循环等基础内容_简单编程示例_90

打印斐波那契数列前n项:

num = int(input('打印斐波那契数列前几项:'))
n1 = 1
n2 = 1
res = 0
for i in range(1, num + 1):
if i <= 2:
print(1, end='、')
else:
res = n1 + n2
n1 = n2
n2 = res
print(res, end='、')

Python学习笔记(二):运算符、分支、循环等基础内容_条件判断_91

Python学习笔记(二):运算符、分支、循环等基础内容_变量_92

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_93

Python学习笔记(二):运算符、分支、循环等基础内容_循环_94

Python学习笔记(二):运算符、分支、循环等基础内容_循环_95

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_96

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_97

猴子吃桃:

猴子第一天摘了若干个桃,吃了一半,不过瘾,又多吃了一个。第二天早上将剩下的桃吃了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第10天早上发现只剩下一个桃了。求第一天猴子共摘了多少个桃?

num = 1
for i in range(9):
num = (num + 1) * 2
print(num)

Python学习笔记(二):运算符、分支、循环等基础内容_循环_98

说明:上述变量i只做计数用,可以写成_

num = 1
for _ in range(9):
num = (num + 1) * 2
print(num)

Python学习笔记(二):运算符、分支、循环等基础内容_斐波那契数列_99





【文章原创作者:阿里云代理 http://www.558idc.com/aliyun.html 复制请保留原URL】
上一篇:【Python】如何在PyPI上发布自定义软件包
下一篇:没有了
网友评论