人生苦短,python更短
人生,苦短,python
2025-03-25 08:59:26 时间
人生苦短,我用python
https://pintia.cn/problem-sets/1111652100718116864/problems/type/7
题源来自pta 没有读者验证码,只是验证了一些数据
思想: 能用一行写,绝不用两行
按序号排序
str = '''
3 c
2 e
6 i
5 r
1 s
7 t
4 u
8 y
'''
d = {int(i.split()[0]): i.split()[1] for i in str.strip().split('\n')}
print("".join([d[i] for i in sorted(d.keys())]))
str = '''
0 1 e
0 2 m
2 5 n
2 6 t
2 7 s
3 1 u
3 2 s
3 3 e
0 3 a
0 4 i
0 5 l
0 6 s
1 1 r
3 4 r
3 5 s
1 2 e
1 3 f
1 4 e
1 5 r
1 6 e
1 7 r
1 8 s
2 1 u
2 2 a
2 3 g
2 4 e
'''
l = [i.split() for i in str.strip().split('\n')]
for j in range(0, 4):
d = {int(i[1]): i[2] for i in l if(int(i[0]) == j)}
print("".join([d[i] for i in sorted(d.keys())]))
本题目要求读入2个整数A和B,然后输出它们的和。
print(sum([int(i) for i in input().split()]))
在同一行依次输入三个值a,b,c,用空格分开,输出 bb-4a*c的值
a,b,c =map(int,input().split())
print(b*b-4*a*c)
输入一个正整数m(20<=m<=100),计算 11+12+13+…+m 的值。
print(sum([i for i in range(11,int(input())+1)]))
本题目要求计算下列分段函数f(x)的值: 在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。
a = float(input())
print("f({:.1f}) = {:.1f}".format(a, 0 if a == 0 else 1/a))
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
a = float(input())
if(a > 50):
print("cost={:.2f}".format(50*0.53+(a-50)*0.58))
elif(a > 0):
print("cost={:.2f}".format(a*0.53))
else:
print("Invalid Value!")
给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。
a, n = input().split()
b = sum([int(a*i) for i in range(1, int(n)+1)])
print('s = {}'.format(b))
本题要求编写程序,计算序列 1 + 1/3 + 1/5 + … 的前N项之和。
print("sum = {:.6f}".format(sum([1/(2*i+1) for i in range(int(input()))])))
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+… 的前N项之和。
print("sum = {:.3f}".format(sum([pow(-1, i-1)*i/(2*(i-1)+1) for i in range(1,int(input())+1)])))
读入2个正整数A和B,1<=A<=9, 1<=B<=10,产生数字AA…A,一共B个A
a, n = input().split(",")
print(str(int(a)) * int(n))
输入一个整数和进制,转换成十进制输出
a, n = input().split(",")
print(int(a,eval(n)))
本题要求将输入的任意3个整数从小到大输出。
print(*sorted(map(int, input().split())), sep="->")
本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2 +1/(m+1)+⋯+n2 +1/n。
m, n = input().split()
print("sum = {:.6f}".format(sum([pow(i, 2)+1/i for i in range(int(m),int(n)+1)])))
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。
a,b,c = map(int,input().split())
s = (a+b+c)/2
if a+b>c and a+c>b and b+c>a:
print("area = {:.2f}; perimeter = {:.2f}".format(pow(s*(s-a)*(s-b)*(s-c),1/2), 2*s))
else:
print("These sides do not correspond to a valid triangle")
给定两个整数A和B,输出从A到B的所有整数的和。
a, b = map(int, input().split())
print("sum = {}".format(sum([i for i in range(a, b+1)])))
在一行输入中一个班的身高值,以空格分隔。 在一行输出超过输入的平均数的输入值,以空格分隔。
a = [int(i) for i in input().split()]
print(*[j for j in a if j > sum(a) / len(a)])
l=list(map(int,input().split()))
print(*(filter(lambda x: x>sum(l)/len(l),l)))
输入一个字符串,再输入两个字符,求这两个字符在字符串中的索引。
s = input()
m, n = input().split()
s = s[::-1]
for i in range(0, len(s)):
if n == s[i] or m == s[i]:
print("{:d} {:s}".format(len(s)-i-1, s[i]))
本题要求提取一个字符串中的所有数字字符(‘0’……‘9’),将其转换为一个整数加1并输出。
print(int(''.join([i for i in input() if i.isdigit()]))+1)
本题要求统计一个整型序列中出现次数最多的整数及其出现次数
arr = list(map(int, input().split()))
list1 = arr[1: arr[0] + 1]
counts = {}
for word in list1:
if word not in counts:
counts.update({word: list1.count(word)})
max = max(counts.values())
for key, value in counts.items():
if value == max:
print(key, value)
l = ['5', '2', '5', '5', '5', '6'][1::]
#l = input().split()[1::]
d = {i: l.count(i) for i in set(l)}
print({int(i): v for i, v in d.items() if(v == max(d.values()))})
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)
n = input()
a = [int(i) for i in input().split()]
print("{} {}".format(max(a), a.index(max(a))))
输入一个字符串,对该字符串进行逆序,输出逆序后的字符串
print(*reversed(list(input())),sep='')
print(input()[::-1])
print(''.join(reversed(input())))
输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。
s = ''
for i in input():
if '0' <= i <= '9' or 'A' <= i <= 'F' or 'a' <= i <= 'f' or i == '-':
s += i
if s != '' and s != '-':
print(f"-{str(int(s.replace('-',''),16))}") if s[0] == '-' else print(f"{str(int(s.replace('-',''),16))}")
英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。
print(len([i for i in input() if i not in 'AEIOU' and i.isupper()]))
本题要求编写程序,读入5个字符串,按由小到大的顺序输出。
print("After sorted",*sorted(input().split(" ")),sep="\n")
本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:A->Z ,B->Y ,C->X …
print("".join([chr(155-ord(i)) if i.isupper() else i for i in input()]))
对于给定的正整数N,求它的位数及其各位数字之和。
s=input()
print(f"{len(s)} {sum([int(num) for num in s ])}")
本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。
print(input()[0:-1].swapcase())
print(input().replace('#',"").swapcase())
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个
print(len(input().split()))
本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。
print("".join(sorted(list(set(input())))))
输入一个字符串 str,再输入要删除字符 c,大小写不区分,将字符串 str 中出现的所有字符 c 删除。提示:去掉两端的空格。
str = input().lstrip()
remove = input().lstrip()
print("result:", str.replace(remove, "").replace(remove.swapcase(), ""))
随机输入一个字符串,把最左边的10个不重复的英文字母(不区分大小写)挑选出来。 如没有10个英文字母,显示信息“not found”
l = []
for i in input():
if i.isalpha() and i.upper() not in l and i.lower() not in l:
l.append(i)
if(len(l) < 10):
print('not found')
else:
print(*l[0:10], sep="")
本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。
print("The longest is:", max([input() for i in range(int(input()))], key=len))
str = [input() for i in range(int(input()))]
l = [len(i) for i in str]
print("The longest is:", str[l.index(max(l))])
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
print(int(input()[::-1]))
本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。
l = []
for i in input():
if(i.isupper() and i not in l):
l.append(i)
print("Not Found") if(len(l) == 0) else print(*l, sep="")
输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。
str = input()
print("ok") if(str[::-1] == str) else print("no")
输入一个非负整数n,生成一张3的乘方表,输出3~3n的值。可调用幂函数计算3的乘方。
for i in range(int(input())+1):
print(f"pow(3,{i}) = {pow(3,i)}")
本题要求统计给定整数M和N区间内素数的个数并对它们求和。
l = []
def isPrime(num):
for i in range(2, num):
if num % i == 0:
return False
if(num != 1):
return True
m, n = map(int, input().split())
for i in range(m, n+1):
if(isPrime(i)):
l.append(i)
print(f"len={len(l)} sum={sum(l)}")
数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。
num =int(input())
def isPrime(num):
for i in range(2, num):
if num % i == 0:
return False
if(num != 1):
return True
for i in range(2, num):
if(isPrime(i) and isPrime(num-i)):
print(f"{num}={i}+{num-i}")
break
自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和
print("{:.8f}".format(sum([1/(__import__('math').factorial(i)) for i in range(1, int(input())+1)])+1))
本题要求编写程序,输出菲波那契(Fibonacci)数列的前N项,每行输出5个,题目保证输出结果在长整型范围内。Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,例如:1,1,2,3,5,8,13,…。
l = [1, 1]
num = int(input())
if(num < 2):
print("Invalid.")
exit(0)
for i in range(num-2):
l.append(l[i]+l[i+1])
for i in l:
print("{:11}".format(i), end="")
if(i % 5 == 0):
print()
本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内
if(int(input())<=0):
exit()
l = list(map(int, input().split()))
# l = [int(i) for i in input().split()]
print(f"average={sum(l)/len(l)} count={len([i for i in l if i >= 60])}")
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
s, x = 2, 1
l = []
for i in range(int(input())):
l.append(s/x)
temp = x
x = s
s = temp+s
print("{:.2f}".format(sum(l)))
给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。先在屏幕上显示以下菜单:用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。
dict = {1: "3.00", 2: "2.50", 3: "4.10", 4: "10.20"}
print('''[1] apple
[2] pear
[3] orange
[4] grape
[0] exit''')
l = [int(i) for i in input().split()]
count = 0
for i in l:
count += 1
if(count == 6 or i == 0):
break
try:
print(f"price = {dict[i]}")
except:
print("price = 0.00")
本题要求两个给定正整数的最大公约数和最小公倍数。
import math
a, b = 511, 292
print(f"{math.gcd(a, b)} {int(a*b/math.gcd(a, b))}")
def gcd(a, b):
if a % b == 0:
return b
else:
return gcd(b, a % b)
a, b = 511, 292
print('{:d} {:d}'.format(gcd(a, b), a*b//gcd(a, b)))
斐波那契数,亦称之为斐波那契数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……,这个数列从第3项开始,每一项都等于前两项之和。求大于输入数的最小斐波那契数。
n = int(input())
a, b = 1, 1
while b <= n:
a, b = b, a + b
print(b)
自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。ei代表前i项求和。输入误差范围error,ei+1-ei<error,则表示e的近似值满足误差范围。
import math
def xiu(n):
return sum([1/math.factorial(i) for i in range(1, int(n)+1)])+1
num = float(input())
for i in range(2, 1000):
if(xiu(i+1)-xiu(i) <= num):
print("{:.6f}".format(xiu(i+1)))
break
输入三角形的三边,判断是否能构成三角形。若能构成输出yes,否则输出no。
a, b, c = map(int, input().split())
print("yes") if a+b > c and a+c > b and b+c > a else print("no")
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。 例如:153=1×1×1+5×5×5+3×3×3。本题要求编写程序,计算所有N位水仙花数。
for i in range(100, 10000):
if(sum([pow(int(j), len(str(i))) for j in str(i)])==i):
print(i)
本题要求编写程序,求一个给定的m×n矩阵各行元素之和
a,b=input().split(" ")
l=[]
for i in range(int(a)):
l.append(sum([int(j) for j in input().split()]))
print(*l,sep="\n")
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
n = int(input())
cnt = 65
for i in range(1, n+1):
for j in range(1, n-i+2):
print(chr(cnt), end=" ")
cnt += 1
print()
求1!+3!+5!+……+n!的和,要求用循环嵌套设计,n<12。
print(f"s={sum([(__import__('math')).factorial(2*i+1) for i in range(((int(input())-1)//2)+1)])}")
求一个3*3二维数组中每行的最大值和每行的和。
# l = [int(i) for i in input().split()]
l = [3, 6, 5, 9, 8, 2, 1, 4, 5]
for i in range(0, 9, 3):
ll = [l[j] for j in range(i, i+3)]
print(*ll, max(ll), sum(ll))
将一个3×3矩阵转置(即行和列互换)。
# l = [int(i) for i in input().split()]
l = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(0, 3):
print(l[i], l[i+3], l[i+6])
给定两个整型数组,本题要求找出不是两者共有的元素
# a = [int(i) for i in input().split()]
# b = [int(i) for i in input().split()]
a = [11, 3, -5, 2, 8, 0, 3, 5, -15, 9, 100]
b = [11, 6, 4, 8, 2, 6, -5, 9, 0, 100, 8, 1]
l1 = list(set(a).difference(set(b)))
l2 = list(set(b).difference(set(a)))
l = [i for i in a+b if i in l1+l2]
ll = []
for i in l:
if i not in ll:
ll.append(i)
print(i, end=" ")
所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。
m, n = 2, 29
l = []
for a in range(m, n):
for i in range(1, a):
if(a % i == 0):
l.append(i)
if(sum(l) == a):
print(a, end=" = ")
print(*l, sep=" + ")
l = []
利用集合分析活动投票情况。第一小队有五名队员,序号是1,2,3,4,5;第二小队也有五名队员,序号6,7,8,9,10。输入一个得票字符串,求第二小队没有得票的队员
l= [int(i) for i in input().split(",")]
print(*[i for i in range(6,11) if l.count(i)==0])
本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数。
str = "programming is More fun!"
print(str.count("m"))
给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。
num = input()
l = [int(i) for i in input().split()]
for i in set(l):
print(i, l.count(i), sep=":")
输入一个列表,去掉列表中重复的数字,按原来次序输出!
str = "[4,7,7,5,6,8,6,9,5]"
l = eval(str)
print(*sorted(list(set(l)),key=l.index))
求指定区间内能被3,5和7整除的数的个数
m, n = 1000, 100000
print(len([i for i in range(m, n) if i % 3 == 0 and i % 5 == 0 and i % 7 == 0]))
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点个数。
n = int(input())
l = [list(map(int, input().split())) for i in range(n)]
ll = [[l[j][i] for j in range(n)]for i in range(n)]
print(len([0 for i in range(n) for j in range(n) if l[i][j] == max(l[i]) == min(ll[j])]))
给定一组整数,还有一个目标数,在给定这组整数中找到两个数字,使其和为目标数,如找到,解是唯一的。找不到则显示 “no answer”。输出的下标按从小到大排序。
l = list(map(int, input().split(",")))
n = int(input())
ll = [l.index(i) for i in l for j in l if i+j == n]
print(*ll) if len(ll) > 0 else print("no answer")
输入用字符串表示两个字典,输出合并后的字典。字典的键用一个字母或数字表示。注意:1和‘1’是不同的关键字!
print(str(dict(sorted(dict((__import__('collections')).Counter(eval(input())) + (__import__('collections')).Counter(eval(input()))).items(), key=lambda x: x[0] if type(x[0]) == int else ord(x[0])))).replace(' ', '').replace("'", '"'))
求列表中数字和,列表中嵌套层次不限2层
str = input()[1:-1].replace("[", "").replace("]","").replace("(", "").replace(")", "").replace("\"","e").split(",")
print(sum([int(i) for i in str if i.lstrip('-').isdigit()]))
# str=[11,2,[3,7],(68,-1),"123",9] = 99
(っ °Д °;)っ(っ °Д °;)っ(っ °Д °;)っ(っ °Д °;)っ(っ °Д °;)っ(っ °Д °;)っ
༼ つ ◕_◕ ༽つ༼ つ ◕_◕ ༽つ༼ つ ◕_◕ ༽つ༼ つ ◕_◕ ༽つ༼ つ ◕_◕ ༽つ
完结撒花…
相关文章
- python怎么把字体调大_python修改字体
- pythoncharm注释快捷键_多行注释以什么开头
- Python/GUI/tkinter/学生信息管理系统源码
- 用Python画一棵带音乐的雪夜圣诞树
- python 获取时间戳_datetime获取当前时间
- 【Python秒杀脚本】淘宝或京东等秒杀抢购
- Python+OpenCV实时图像处理「建议收藏」
- python线程间通信的方式_android 线程间通信
- Python基础07-函数
- 神器,轻松可视化Python程序调用流程
- python时间和日期操作(datetime和monthrange,timedelta)
- python测试框架unittest如何设置用例优先级_python 的 unittest 测试框架中的测试依赖怎么解决呢…[通俗易懂]
- 如何设置python的环境变量_anaconda环境变量手动设置
- 使用 setup.py 将 Python 库打包分发到 PyPI 踩坑指南
- X波段双极化相控阵天气雷达基数据的python读取方法
- python button使用方法_python gui界面设计
- Python-yield关键字详解
- 用Python爬取王者荣耀英雄皮肤海报图
- python爬取图床壁纸
- python实现微信小游戏“飞机大战”