多平台统一管理软件接口,如何实现多平台统一管理软件接口
330
2022-08-30
Python学习笔记(二):运算符、分支、循环等基础内容(python中运算符)
注释:# 注释的内容
数字:
整数:不区分int和long
进制:0xa、0o10、0b10bool:True、False
浮点数:3.1415复数:1 + 2j
字符串:
使用单双引号引用都可以,建议使用单引号,'python'或"python"'''和"""单双三引号,可以多行注释,可以在其中自由使用单双引号在字符串前面加上r或R前缀,表示该字符串不做特殊处理
缩进:约定使用4个空格缩进 续行:
在行尾使用\如果使用各种括号,认为括号内是一个整体,内部跨行不用\
标识符:
只能包含字母、数字或下划线只能以字母或下划线开头不能是Python的关键字,例如def、class不能作为标识符Python大小写敏感不允许使用中文不允许使用歧义单词,例如class_Python中不要随便使用下划线开头的标识符
常量:
一旦赋值就不能改变值的标识符Python中无法定义常量
变量:赋值后,可以改变值的标识符 Python的语言类型:是动态、强类型语言
静态编译语言:
== != > < >= <=返回一个bool值(True、False)1 < '1' 1 == '1'链式比较操作符:4 > 3 > 2
逻辑运算符:
与and 或or 非not短路运算符:
and:如果第一个表达式为False,后面就没有计算的必要了,整个逻辑表达式一定为Falseor:如果第一个表达式为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 | 假 |
多分支结构:
if...elif...else语句:
if condition1: 代码块1elif condition2: 代码块2elif condition3: 代码块3...else: 代码块4
分支嵌套:
if condition1: 代码块1else: if condition2: 代码块2 elif condition3: 代码块3 elif condition4: 代码块4 ... else: 代码块5
嵌套结构,可以是分支、循环的嵌套,可以互相嵌套多层
input()函数获取键盘输入,变量类型为字符串
while循环:
# 当条件满足即condition为True时,进入循环体,执行blockwhile condition: block
for循环:
# range()函数# 当可迭代对象中有元素可以迭代,进入循环体,执行blockfor element in iteratable: block
循环continue语句:中断当前循环的当次执行,继续下一次循环
循环break语句:终止当前循环
总结:
continue和break是循环的控制语句,只影响当前循环,包括while、for循环如果循环嵌套,continue和break也只影响语句块所在的那一层循环continue和break不是跳出语句块,所以if condition: break不是跳出if,而是终止if外的break所在的循环
循环else子句:
while condition: blockelse: block
或
for element in iteratable: blockelse: 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()
for ... else ...使用:
for i in range(3): print(i)else: print('done')
for i in range(10): if i > 5: breakelse: print('ok')
无结果输出
打印10以内的奇数:
for i in range(1, 10, 2): print(i, end='、')
或
for i in range(1, 10): if i % 2 == 0: continue print(i, end='、')
字符串拼接:
str1 = 'ABCD'str2 = "EFGH"print(str1 + str2)print(type(str1 + str2))
给定一个不超过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位的正整数')
或
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)
给定一个不超过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))
或
num1 = num2 = int(input('请输入一个不超过5位的正整数:'))if num1 >= 1000: if num1 >= 10000: res = 5 else: res = 4else: if num1 >= 100: res = 3 elif num1 >= 10: res = 2 else: res = 1print('该正整数有' + 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
给定一个正整数,判断其位数:
num = int(input('请输入一个正整数:'))count = 1while True: num = num // 10 if num == 0: break count += 1print(str(count) + '位数')
打印一个边长为n的实心正方形:
val = input('请输入正方形边长:')num = 1len = int(val)while num <= len: print('* ' * len) num += 1
打印一个边长为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) + '*')
或
num = int(input('请输入正方形边长:'))val = num // 2for i in range(-val, num - val): if i == -val or i == num - val - 1: print('* ' * num) else: print('*' + ' ' * ((num - 2) * 2 + 1) + '*')
求100以内所有奇数的和:
num = 1sum = 0while num <= 100: sum += num num += 2print('100以内所有奇数的和为:', sum)
或
sum = 0for num in range(1, 100, 2): sum += numprint('100以内所有奇数的和为:' + str(sum))
或
sum = 0for num in range(1, 100): if num % 2 != 0: sum += numprint('100以内所有奇数的和为:' + str(sum))
求1000以内被7整除的前20个数:
count = 0for i in range(0, 1000, 7): count += 1 if count > 20: break print(i, end=' ')
判断学生成绩对应等级:
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')
输入三个正整数,比较大小,升序输出:
num1 = int(input('请输入第一个正整数:'))num2 = int(input('请输入第二个正整数:'))num3 = int(input('请输入第三个正整数:'))maximum = median = minimum = 0if 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 = num2else: if num3 >= num2: maximum = num3 median = num2 minimum = num1 elif num3 <= num1: maximum = num2 median = num1 minimum = num3 else: maximum = num2 median = num3 minimum = num1print(minimum, median, maximum)
给定n个正整数,求它们的算数平均数:
res = 0count = 1times = int(input('给定的正整数个数为:'))while count <= times: num = int(input('请输入第' + str(count) + '个数:')) res+= num count += 1print('算数平均数为:' + str(res / times))
或
res = 0times = int(input('给定的正整数个数为:'))for i in range(1, times + 1): num = int(input('请输入第' + str(i) + '个数:')) res += numprint('算数平均数为:' + str(res / times))
求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 = 0res = 1for i in range(1, val+1): res *= i sum += resprint('1到' + str(val) + '阶乘之和为:', sum)
或
val = int(input('请输入一个数:'))sum = 0for i in range(1, val + 1): res = 1 for j in range(1, i + 1): res *= j sum += resprint('1到' + str(val) + '阶乘之和为:', sum)
判断一个数是否是质数(素数):
质数:一个大于1的自然数只能被1和它本身整除
num = int(input('请输入一个自然数:'))for i in range(2, num): if num % i == 0: print(str(num) + '不是质数') breakelse: print(str(num) + '是质数')
求100以内所有质数的和:
res = 0for 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)
或
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)
打印常规(左下)形态九九乘法表:
for i in range(1, 10): for j in range(1, i+1): print(str(j) + '*' + str(i) + '=' + str(i * j), end='\t') print()
或
for i in range(1, 10): for j in range(1, i+1): print('%d*%d=%d' % (j, i, j * i), end='\t') print('')
打印左上形态九九乘法表:
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()
打印右上形态九九乘法表:
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()
另一种形态:
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()
或
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()
说明:{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()
打印指定大小的菱形:
for i in range(1, 8): if i <= 4: print(' ' * (4 - i) + '*' * (2 * i - 1)) else: print(' ' * (i - 4) + '*' * (7 % i * 2 + 1))
或
for i in range(-3, 4): if i < 0: i = -i print(' ' * i + '*' * (7 - 2 * i))
打印任意大小的菱形:
num = int(input('请输入菱形的行数(必须为奇数):'))for i in range(-(num//2), (num+1)//2): if i <= 0: i = -i print(' ' * i + '*' * (num - 2 * i))
打印指定大小的对顶三角形:
for i in range(-7, 8, 2): if i < -1: i = -i if i == -1: continue print((7 - i) // 2 * ' ' + i * '*')
打印任意大小的对顶三角形:
num = int(input('请输入对顶三角形的行数(必须为奇数):'))a = num // 2for i in range(-a, num - a): if i < 0: i = -i print(' ' * (a - i) + '*' * (2 * i + 1))
打印闪电:
for i in range(-3, 4): if i < 0: print((-i) * ' ' + (4 + i) * '*') elif i == 0: print(7 * '*') else: print(3 * ' ' + (4 - i) * '*')
或
for i in range(-3, 4): if i == 0: print(7 * '*') print((-i) * ' ' + (4 + i) * '*') if i < 0 else print(3 * ' ' + (3 - i) * '*')
打印斐波那契数列的第n项:
1、1、2、3、5、8、13、21、34、...,数列从第3项开始,每一项等于前两项之和
num = int(input('显示斐波那契数列第几项:'))n1 = 1n2 = 1count = 3if 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))
打印100以内的斐波那契数列:
i = j = 1while i < 100: print(i, end=" ") i, j = j, i + j
打印斐波那契数列前n项:
num = int(input('打印斐波那契数列前几项:'))n1 = 1n2 = 1res = 0for i in range(1, num + 1): if i <= 2: print(1, end='、') else: res = n1 + n2 n1 = n2 n2 = res print(res, end='、')
猴子吃桃:
猴子第一天摘了若干个桃,吃了一半,不过瘾,又多吃了一个。第二天早上将剩下的桃吃了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第10天早上发现只剩下一个桃了。求第一天猴子共摘了多少个桃?
num = 1for i in range(9): num = (num + 1) * 2print(num)
说明:上述变量i只做计数用,可以写成_
或
num = 1for _ in range(9): num = (num + 1) * 2print(num)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~