• 【Python】语言学习


    之前总觉得python简单,不当回事,直到自己动手连输出都写不出来。。于是开一篇专门练python的博客。

    输出

    Python初相识 (educoder.net)

    常规输出 

    print("向上:%.2f,向下:%.2f" %(pow(1.001, 365),pow(0.999, 365)))

    将输入的字符串重复n次成一个字符串输出

    1. s = input()
    2. s3 = s * 10 # 字符串乘以一个整数 3
    3. print(s3)

    将输入的表达式转为可计算类型并输出结果

    eval()函数可用于将参数中的表达式转为可计算对象,整数字符串转为整数类型,浮点数字符串转为浮点数类型,数值运算表达式字符串转为数值运算表达式。

    1. a=eval(input(''))
    2. print(a*3)

     控制输出字符串占位宽度

    f-string和str.format()可以在替换域中用{:<^>n}控制进入替换域中字符串的输出占位宽度,替换字符串长度小于n时,固定占n个字符位的宽度,多于n个时,不受n的限制,原样输出。n前面的“<^>”分别表示居左对齐、居中和居右对齐。 

    输出:

    圆周率值为:         3.14

    圆周率值为:        3.1415

    圆周率值为:      3.1415926

    1. pi1 = '3.14'
    2. pi2 = '3.1415'
    3. pi3 = '3.1415926'
    4. sign = input()
    5. a=int(input(''))
    6. print(f'圆周率值为:{pi1:{sign}{a}}')
    7. print(f'圆周率值为:{pi2:{sign}{a}}')
    8. print(f'圆周率值为:{pi3:{sign}{a}}')

     控制输出浮点数精度

    1. pi = 3.14159265358979
    2. n = int(input())
    3. print(f'圆周率值为:{pi:.{n}f}')

    用户输入数值和符号

    1. a = int(input('请输入一个整数:'))
    2. b = int(input('请再输入一个整数:'))
    3. sign = input('请输入运算符号')
    4. # 补充你的代码
    5. # eval()函数把字符串f"{a}{sign}{b}"转为计算表达式
    6. # 字符串里包含引号时,内部引号与边界应用不同的引号
    7. print(str(a)+str(sign)+str(b)+"=",end='')
    8. print(eval('{}{}{}'.format(a, sign, b)),end='')

     可以改写成f-string的格式

    1. # 以下三行代码不要修改
    2. a = int(input('请输入一个整数:'))
    3. b = int(input('请再输入一个整数:'))
    4. sign = input('请输入运算符号')
    5. # 补充你的代码
    6. # eval()函数把字符串f"{a}{sign}{b}"转为计算表达式
    7. # 字符串里包含引号时,内部引号与边界应用不同的引号
    8. print(str(a)+str(sign)+str(b)+"=",end='')
    9. result = eval(f'{a}{sign}{b}')
    10. print(result, end='')

    列表操作

    1. list1 = list(map(int,input().split()))
    2. #读入一行由空格分隔的整数,将其存入list1列表中

    将列表逆序输出: 

    a=a[::-1]#逆序输出

     列表推导式:

    1. def fun(x):
    2. return x ** 3
    3. ls = ['the lord of the rings','anaconda','legally blonde','gone with the wind']
    4. s = input() # 输入一个字符
    5. # 当输入为"1"时,输出元素为0-93次方的列表 [0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
    6. if s == '1':
    7. y=[fun(i) for i in range(0,10)]
    8. print(y)
    9. # 当输入为"2"时,输出元素为0-9中偶数的3次方的列表 [0, 8, 64, 216, 512]
    10. elif s == '2':
    11. y = [fun(i) for i in range(10) if i%2 == 0]
    12. print(y)
    13. # 当输入为"3"时,输出元素为元组的列表,元组中元素依次是0-9中的奇数和该数的3次方[(1, 1), (3, 27), (5, 125), (7, 343), (9, 729)]
    14. elif s == '3':
    15. list =[]
    16. for i in range(10):
    17. if i%2!=0:
    18. x=tuple((i,i**3))
    19. list.append(x)
    20. print(list)
    21. # 当输入为"4"时,将ls中每个元素单词首字母大写输出['The lord of the rings', 'Anaconda', 'Legally blonde', 'Gone with the wind']
    22. elif s == '4':
    23. print([list.strip().capitalize() for list in ls])
    24. # 当输入为其他字符时,执行以下语句
    25. else:
    26. print('结束程序')

    多维列表排序

    多维列表排序,通过设置key属性来实现

    1. m=int(input())
    2. n=int(input())
    3. a=[('dungeon',7),('winterfell',4),('bran',9),('meelo',6)]
    4. b=[[ 'Angle', '0121701100106',99], [ 'Jack', '0121701100107',86], [ 'Tom', '0121701100109',65], [ 'Smith', '0121701100111', 100], ['Bob', '0121701100115',77], ['Lily', '0121701100117', 59]]
    5. a.sort(key=lambda x:x[1])
    6. print(a[:m])
    7. c=sorted(b,key=lambda x:x[0])
    8. print(c[:n])
    9. d=sorted(b,key=lambda x:x[2])
    10. print(d[:n])

    1. list1 = [] #定义空列表
    2. while 1: #循环输入
    3. a = input().split() #input().split()一般默认空格或者换行输入
    4. if len(a)==0: #如果输入为空的时候回车
    5. break
    6. else:
    7. list1.append(a) #将输入按字符串的形式加入二维列表
    8. #sorted(序列, key = 函数)
    9. list2 = sorted(list1, key = lambda x:float(x[1][:-1])*1000 if x[1][-1] == 't'
    10. else float(x[1][:-2]))
    11. print(list2)
    12. #1,float(x[1][:-1])*1000 if x[1][-1] == 't'表示将单位为't'这行中,
    13. #第二个字符串t之前的元素,例如0.35t中的0.35,*1000后按大小输出

  • 相关阅读:
    git使用进阶(二)
    Kafka 入门知识,看这一篇就够了(上)
    Centos 里面为什么有的磁盘命名/dev/vda 有的是/dev/sda ?
    rapidocr-onnxruntime库及在open-webui上传PDF 图像处理 (使用 OCR)应用
    C++ std::atomic volatile 区别与联系
    Hippy - 值得关注的免费开源跨端开发框架,由腾讯出品,支持将 JS 代码发布到安卓 / iOS / web
    认识接口自动化测试
    基于Spring boot轻松实现一个多数据源框架
    手把手教你实现一个JavaWeb项目:创建一个自己的网页博客系统(前端+后端)(一)
    25、opencv的仿射变换
  • 原文地址:https://blog.csdn.net/m0_74183164/article/details/133660167