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

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

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

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

f-string和str.format()可以在替换域中用{:<^>n}控制进入替换域中字符串的输出占位宽度,替换字符串长度小于n时,固定占n个字符位的宽度,多于n个时,不受n的限制,原样输出。n前面的“<^>”分别表示居左对齐、居中和居右对齐。
输出:
圆周率值为: 3.14
圆周率值为: 3.1415
圆周率值为: 3.1415926
- pi1 = '3.14'
- pi2 = '3.1415'
- pi3 = '3.1415926'
- sign = input()
- a=int(input(''))
- print(f'圆周率值为:{pi1:{sign}{a}}')
- print(f'圆周率值为:{pi2:{sign}{a}}')
- print(f'圆周率值为:{pi3:{sign}{a}}')

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

- a = int(input('请输入一个整数:'))
- b = int(input('请再输入一个整数:'))
- sign = input('请输入运算符号')
- # 补充你的代码
- # eval()函数把字符串f"{a}{sign}{b}"转为计算表达式
- # 字符串里包含引号时,内部引号与边界应用不同的引号
- print(str(a)+str(sign)+str(b)+"=",end='')
- print(eval('{}{}{}'.format(a, sign, b)),end='')
可以改写成f-string的格式
- # 以下三行代码不要修改
- a = int(input('请输入一个整数:'))
- b = int(input('请再输入一个整数:'))
- sign = input('请输入运算符号')
- # 补充你的代码
- # eval()函数把字符串f"{a}{sign}{b}"转为计算表达式
- # 字符串里包含引号时,内部引号与边界应用不同的引号
- print(str(a)+str(sign)+str(b)+"=",end='')
- result = eval(f'{a}{sign}{b}')
- print(result, end='')
- list1 = list(map(int,input().split()))
- #读入一行由空格分隔的整数,将其存入list1列表中
将列表逆序输出:
a=a[::-1]#逆序输出
列表推导式:
- def fun(x):
- return x ** 3
- ls = ['the lord of the rings','anaconda','legally blonde','gone with the wind']
- s = input() # 输入一个字符
- # 当输入为"1"时,输出元素为0-9的3次方的列表 [0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
- if s == '1':
- y=[fun(i) for i in range(0,10)]
- print(y)
- # 当输入为"2"时,输出元素为0-9中偶数的3次方的列表 [0, 8, 64, 216, 512]
- elif s == '2':
- y = [fun(i) for i in range(10) if i%2 == 0]
- print(y)
- # 当输入为"3"时,输出元素为元组的列表,元组中元素依次是0-9中的奇数和该数的3次方[(1, 1), (3, 27), (5, 125), (7, 343), (9, 729)]
- elif s == '3':
- list =[]
- for i in range(10):
- if i%2!=0:
- x=tuple((i,i**3))
- list.append(x)
- print(list)
- # 当输入为"4"时,将ls中每个元素单词首字母大写输出['The lord of the rings', 'Anaconda', 'Legally blonde', 'Gone with the wind']
- elif s == '4':
- print([list.strip().capitalize() for list in ls])
- # 当输入为其他字符时,执行以下语句
- else:
- print('结束程序')
多维列表排序,通过设置key属性来实现
- m=int(input())
- n=int(input())
- a=[('dungeon',7),('winterfell',4),('bran',9),('meelo',6)]
- b=[[ 'Angle', '0121701100106',99], [ 'Jack', '0121701100107',86], [ 'Tom', '0121701100109',65], [ 'Smith', '0121701100111', 100], ['Bob', '0121701100115',77], ['Lily', '0121701100117', 59]]
-
- a.sort(key=lambda x:x[1])
- print(a[:m])
-
- c=sorted(b,key=lambda x:x[0])
- print(c[:n])
-
- d=sorted(b,key=lambda x:x[2])
- print(d[:n])
- list1 = [] #定义空列表
- while 1: #循环输入
- a = input().split() #input().split()一般默认空格或者换行输入
- if len(a)==0: #如果输入为空的时候回车
- break
- else:
- list1.append(a) #将输入按字符串的形式加入二维列表
-
- #sorted(序列, key = 函数)
- list2 = sorted(list1, key = lambda x:float(x[1][:-1])*1000 if x[1][-1] == 't'
- else float(x[1][:-2]))
-
- print(list2)
- #1,float(x[1][:-1])*1000 if x[1][-1] == 't'表示将单位为't'这行中,
- #第二个字符串t之前的元素,例如0.35t中的0.35,*1000后按大小输出