Python刷题
题目: 第5章-1 输出星期名缩写 (70 分)
输入一个1到7的数字,输出对应的星期名的缩写。
1 Mon
2 Tue
3 Wed
4 Thu
5 Fri
6 Sat
7 Sun
输入格式:
输入1到7之间数字
输出格式:
输出对应的星期名的缩写
输入样例:
在这里给出一组输入。例如:
1
输出样例:
在这里给出相应的输出。例如:
Mon
一、代码
n=int(input())
if (n==1):
print("Mon")
elif (n==2):
print("Tue")
elif (n==3):
print("Wed")
elif (n==4):
print("Thu")
elif (n==5):
print("Fri")
elif (n==6):
print("Sat")
elif(n==7):
print("Sun")
二、心得
1.if多条件语法使用
题目:第5章-2 图的字典表示 (20 分)
图的字典表示。输入多行字符串,每行表示一个顶点和该顶点相连的边及长度,输出顶点数,边数,边的总长度。比如上图0点表示:
{‘O’:{‘A’:2,‘B’:5,‘C’:4}}。用eval函数处理输入,eval函数具体用法见第六章内置函数。
输入格式:
第一行表示输入的行数 下面每行输入表示一个顶点和该顶点相连的边及长度的字符串
输出格式:
在一行中输出顶点数,边数,边的总长度
输入样例:
在这里给出一组输入。例如:
4
{‘a’:{‘b’:10,‘c’:6}}
{‘b’:{‘c’:2,‘d’:7}}
{‘c’:{‘d’:10}}
{‘d’:{}}
输出样例:
在这里给出相应的输出。例如:
4 5 35
一、代码
n=int(input())
num=0
sum=0
for i in range(n):
dic=eval(input())
for j in dic:
temp=dic[j]
for key in temp:
num+=1
sum+=temp[key]
print("{:d} {:d} {:d}".format(n,num,sum))
二、心得
1.掌握字典相关语法
2.**eval(input())**可以实现字典的输入
题目: 第5章-3 四则运算(用字典实现) (30 分)
四则运算(用字典实现),比较c语言的switch语句。
输入格式:
在一行中输入一个数字 在一行中输入一个四帜运算符(+,-,*,/) 在一行中输入一个数字
输出格式:
在一行中输出运算结果(小数保留2位)
输入样例1:
在这里给出一组输入。例如:
7
/
3
输出样例1:
在这里给出相应的输出。例如:
2.33
输入样例2:
在这里给出一组输入。例如:
10
/
0
输出样例2:
在这里给出相应的输出。例如:
divided by zero
一、代码
dict = {"+":"x+y","-":"x-y","*":"x*y","/":"x/y"}
x = float(input())
op = input()
y = float(input())
try:
print("{:.2f}".format(eval(dict[op])))
except:
print("divided by zero")
二、心得
1.熟悉字典基本表达
2.小数点保留基本算法
题目: 第5章-4 分析活动投票情况 (20 分)
利用集合分析活动投票情况。第一小队有五名队员,序号是1,2,3,4,5;第二小队也有五名队员,序号6,7,8,9,10。输入一个得票字符串,求第二小队没有得票的队员
输入格式:
在一行中输入得票的队员的序列号,用逗号隔开。
输出格式:
一行中输出第二小队没有得票的队员序号。
输入样例:
在这里给出一组输入。例如:
1,5,9,3,9,1,1,7,5,7,7,3,3,1,5,7,4,4,5,4,9,5,10,9
输出样例:
在这里给出相应的输出。例如:
6 8
一、代码
l = list(map(int, input().split(',')))
print(*[i for i in range(6, 11) if i not in l], sep=' ')
二、心得
1.Python中sep不是函数,它是print函数的一个参数,用来定义输出数据之间的间隔符号。
如:
print(“abc”, “uuu”, “oop”, sep = “”)
输出: abcuuuoop
2.*[] 是为了输出仅输出数字,否则输出将带有 [ ]
题目: 第5章-5 统计字符出现次数 (20 分)
本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数。
输入格式:
输入第一行给出一个以回车结束的字符串(少于80个字符);第二行输入一个字符。
输出格式:
在一行中输出给定字符在给定字符串中出现的次数。
输入样例:
programming is More fun!
m
输出样例:
2
一、代码
s=input()
r=input()
print(s.count(r))
# 最简表达
# print(input().count(input()))
二、心得
s.count® 用于统计字符串s中存在r字符的个数
题目: 第5章-6 统计工龄 (20 分)
给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。
输入格式:
输入首先给出正整数N(≤10
5
),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。
输出格式:
按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。
输入样例:
8
10 2 0 5 7 2 5 2
输出样例:
0:1
2:3
5:2
7:1
10:1
一、代码
n=int(input())
s=list(map(int,input().split()))
dic={}
for i in s:
dic[i]=dic.get(i,0)+1
for j in sorted(dic):
print("{}:{}".format(j,dic[j]))
二、心得
1.列表输入 list(map(int,input().split()))
2.Python 字典(Dictionary) get() 函数返回指定键的值。
3.sorted() 函数对所有可迭代的对象进行排序操作。
如:
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
sorted(students, key=lambda s: s[2]) # 按逻辑位置第3来排,即年龄排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]