数据类型
-
数字类型
- 整形:
height1 = 180 height2 = int(180) height3 = int('180') print(height3)
- 浮点型:
salary1 = 1.0 salary2 = float(1.0) salary3 = float('1') print(salary3)
- 复数:
# 复数:实部+虚部, a+bj, 1+2j z = 1+2j print(z) print(z.real) print(z.imag)
-
通用方法
a = 0.1 b = 0.2 c = 0.3 print(a+b) # 不是0.3,而是0.30000000000000004 print(a+b == 0.3) # False 浮点数尾数不同 print(round(a+b,2)) # 通过round函数进行四舍五入,保留两位小数 print(abs(-1)) # 绝对值 print(divmod(10,3)) # 第一个商,第二个余数 print(pow(10,10[,z])) # 幂余,(x**y)%z,[..]表示参数z可省略 print(max(10,11,12,1123,12312312,111.0)) # 最大值 print(min(10,11,12,1123,12312312,111.0)) # 最小值
运算符
- 一元运算符
# +-*/ x = 1y = 2print(x*y) # % 取余 print(3%4) # // 整除 print(3//4) # ** 幂 print(2**10) print(pow(2,10))
- 二元运算符
x = 2 # x = x +2 x+=2 x*=2 x%=2 print(x)
- 三元表达式
# 结果一 条件 结果二 print('优秀') if score > 90 else print('良好') # 单分支没有,多分支也没有
- 逻辑运算符
# > >= < <= == != # and 两者都必须成立 # or 其中一个成立即可 # not 非
练习:
-
进度条
# 0 %[->..........]x.xs import time setnum = 100 print(f"{'任务开始':-^{setnum}}") starttime = time.perf_counter() for i in range(setnum+1): time.sleep(0.1) print(f" {i/setnum*100: ^3.1f}%[{'*'*i}->{'.'*(setnum-i)}]{time.perf_counter()-starttime:.1f}s",end="") print(f" {'任务结束':-^{setnum}}")
效果:
------------------------------------------------任务开始------------------------------------------------
100.0%[****************************************************************************************************->]10.2s
------------------------------------------------任务结束------------------------------------------------
作业:
-
获得用户输入的一个整数a,计算a的平方根,保留小数点后3位,并打印输出。输出结果采用宽度30个字符、右对齐输出、多余字符采用加号(+)填充。如果结果超过30个字符,则以结果宽度为准。
示例:
输入:10 ,输出:+++++++++++++++++++++++++3.162# 题目1 a = input("输入一个整数:") a = round(pow(int(a),0.5),3) # 使用pow开方并保留3位小数 len = len(str(a)) # 取长度 if len<30: print(f"{a:+>{30-len}}") else: print(a)
-
获得输入的一个字符串s,以字符减号(-)分割s,将其中首尾两段用加号(+)组合后输出。
示例:
输入:Alice-Bob-Charis-David-Eric-Flurry,输出:Alice+Flurry# 题目2 s = input("输入一个字符串:") s = s.split("-") print(s[0]+"+"+s[-1])