python学习笔记之数据类型---数字类型及运算符

数据类型

  • 数字类型

    • 整形:
    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"\r{i/setnum*100: ^3.1f}%[{'*'*i}->{'.'*(setnum-i)}]{time.perf_counter()-starttime:.1f}s",end="")
    print(f"\n{'任务结束':-^{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])
    
posted @ 2019-07-16 19:15  正在学习的Barry  阅读(475)  评论(0编辑  收藏  举报
-->