输入一个1到7的数字,输出对应的星期名的缩写。
1 Mon
2 Tue
3 Wed
4 Thu
5 Fri
6 Sat
7 Sun
输入格式:
输入1到7之间数字
输出格式:
输出对应的星期名的缩写
输入样例:
在这里给出一组输入。例如:
1
输出样例:
在这里给出相应的输出。例如:
Mon
n=input()
data={'1':'Mon','2':'Tue','3':'Wed','4':'Thu','5':'Fri','6':'Sat','7':'Sun'}
print(data[n])
图的字典表示。输入多行字符串,每行表示一个顶点和该顶点相连的边及长度,输出顶点数,边数,边的总长度。比如上图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())
data={}
count1,count2=0,0
for i in range(n):
a=eval(input())
for each in a:
data[each]=a[each]
for i in data:
count1+=len(data[i])
for j in data[i]:
count2+=data[i][j]
print("%d %d %d"%(len(data),count1,count2))
四则运算(用字典实现),比较c语言的switch语句。
输入格式:
在一行中输入一个数字 在一行中输入一个四帜运算符(+,-,*,/) 在一行中输入一个数字
输出格式:
在一行中输出运算结果(小数保留2位)
输入样例1:
在这里给出一组输入。例如:
7
/
3
输出样例1:
在这里给出相应的输出。例如:
2.33
输入样例2:
在这里给出一组输入。例如:
10
/
0
输出样例2:
在这里给出相应的输出。例如:
divided by zero
a = float(input())
m = input()
b = float(input())
try:
res = {'+': a + b, '-': a - b, '*': a * b, '/': a / b}
print(f"{res[m]:.2f}")
except:
print("divided by zero")
这道题目有个小坑,题目并未说明如结果为整数则输出整数,题目默认整数也保留两位小数。
故下面为输出是整数则不保留小数的代码
n=input()
a=input()
m=input()
if "." in m:
m=float(m)
else:
m=int(m)
if "." in n:
n=float(n)
else:
n=int(n)
data={'+':1,'-':2,'*':3,'/':4}
if m == 0 and data[a] ==4:
print("divided by zero")
else:
if isinstance(m,int) and isinstance(n,int):
if data[a] == 1:
print(n+m)
elif data[a] == 2:
print(n-m)
elif data[a] == 3:
print(n*m)
elif data[a] == 4:
if int(n/m) == (n/m):
print(int(n/m))
else:
print("%.2f"%(n/m))
else:
if data[a] == 1:
print("%.2f"%(n+m))
elif data[a] == 2:
print("%.2f"%(n-m))
elif data[a] == 3:
print("%.2f"%(n*m))
elif data[a] == 4:
print("%.2f"%(n/m))
利用集合分析活动投票情况。第一小队有五名队员,序号是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
s=list(map(int,input().split(",")))
data=set()
num=[]
j=0
for i in range(len(s)):
data.add(s[i])
for i in range(6,11):
if i not in data:
num.append(i)
if len(num) !=0:
for i in range(len(num)):
if i != len(num)-1:
print("%d "%num[i],end="")
else:
print(num[i])
本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数。
输入格式:
输入第一行给出一个以回车结束的字符串(少于80个字符);第二行输入一个字符。
输出格式:
在一行中输出给定字符在给定字符串中出现的次数。
输入样例:
programming is More fun!
m
输出样例:
2
s=input()
a=input()
print(s.count(a))
给定公司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
s=int(input())
data=list(map(int,input().split()[:s]))
data.sort()
data=list(map(str,data))
num={}
for i in range(s):
if data[i] not in num:
num[data[i]]=1
else:
num[data[i]]+=1
for each in num:
print("%s:%d"%(each,num[each]))
输入一个列表,去掉列表中重复的数字,按原来次序输出!
输入格式:
在一行中输入列表
输出格式:
在一行中输出不重复列表元素
输入样例:
在这里给出一组输入。例如:
[4,7,5,6,8,6,9,5]
输出样例:
在这里给出相应的输出。例如:
4 7 5 6 8 9
s=input()
s=eval(s)
s=s[::-1]
for i in s:
if s.count(i) !=1:
for j in range(s.count(i)-1):
s.remove(i)
for i in range(len(s)-1,-1,-1):
if i !=0:
print("%d "%s[i],end="")
else:
print(s[i])
求指定区间内能被3,5和7整除的数的个数
输入格式:
在一行中从键盘输入2个正整数a,b(1<=a
输出格式:
在一行输出大于等于a且小于等于b的能被3,5和7整除的数的个数。
输入样例1:
在这里给出一组输入。例如:
10 100
输出样例1:
在这里给出相应的输出。例如:
0
输入样例2:
在这里给出一组输入。例如:
1000 100000
输出样例:
在这里给出相应的输出。例如:
943
a,b=input().split()
a,b=int(a),int(b)
count=0
for i in range(a,b+1):
if i%3==0 and i%5==0 and i%7==0:
count+=1
print(count)
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
本题要求编写程序,求一个给定的n阶方阵的鞍点。
输入格式: 输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。
输出格式: 鞍点的个数
输入样例1:
4
1 7 4 1
4 8 3 6
1 6 1 2
0 7 8 9
输出样例1:
1
输入样例2:
2
1 7
4 1
输出样例2:
0
输入样例3:
3
6 6 6
6 6 6
6 6 6
输出样例3:
9
n=int(input())
data=[]
count=0
for i in range(n):
data.append(list(map(int,input().split())))
for i in range(n):
for j in range(n):
if data[i][j] == max(data[i]) and data[i][j] == min([data[k][j] \
for k in range(n)]):
count+=1
print(count)
给定一组整数,还有一个目标数,在给定这组整数中找到两个数字,使其和为目标数,如找到,解是唯一的。找不到则显示 “no answer”。输出的下标按从小到大排序。用一重循环加字典实现。
输入格式:
在一行中给出这组数。 在下一行输入目标数
输出格式:
在一行中输出这两个数的下标,用一个空格分开。
输入样例1:
在这里给出一组输入。例如:
2,7,11,15
9
输出样例1:
在这里给出相应的输出。例如:
0 1
输入样例2:
在这里给出一组输入。例如:
3,6,9
10
输出样例2:
在这里给出相应的输出。例如:
no answer
s=list(map(int,input().split(",")))
n=int(input())
flag=0
for i in range(len(s)):
for j in range(i,len(s)):
if s[i]+s[j] == n:
flag=1
print("%d %d"%(i,j))
if flag==0:
print("no answer")
字典合并。输入用字符串表示两个字典,输出合并后的字典,字典的键用一个字母或数字表示。注意:1和‘1’是不同的关键字!
输入格式:
在第一行中输入第一个字典字符串 在第二行中输入第二个字典字符串
输出格式:
在一行中输出合并的字典,输出按字典序。"1"的ASCII吗为49,大于1,排序时1在前,"1"在后,其它的也一样。
输入样例1:
在这里给出一组输入。例如:
{1:3,2:5}
{1:5,3:7}
输出样例1:
在这里给出相应的输出。例如:
{1:8,2:5,3:7}
输入样例2:
在这里给出一组输入。例如:
{"1":3,1:4}
{"a":5,"1":6}
输出样例2:
在这里给出相应的输出。例如:
{1:4,"1":9,"a":5}
a = dict(eval(input()))
b = dict(eval(input()))
c = {}
for i in a.keys():
for j in b.keys():
if i == j:
c[i] = a.get(i) + b.get(j)
if i not in c.keys():
c[i] = a.get(i)
if j not in c.keys():
c[j] = b.get(j)
c1 = {}
c2 = {}
for key in c.keys():
if type(key) == str:
c1[key] = c.get(key)
elif type(key) == int:
c2[key] = c.get(key)
c11 = sorted(c1.keys())
c22 = sorted(c2.keys())
ans1 = {} #str
ans2 = {} #int
ans3 = {}
for i in c11:
ans1[i] = c1.get(i)
for i in c22:
ans2[i] = c2.get(i)
num = 0
num1 = 0
print("{", end='')
if len(ans2) != 0:
for k, v in ans2.items():
if len(ans1) == 0 and num1 == len(ans2) - 1:
print("{}:{}".format(k, v), end='')
else:
print("{}:{},".format(k, v), end='')
num1 = num1 + 1
if len(ans1) != 0:
for k, v in ans1.items():
if num == len(ans1) - 1:
print(("\""+"%c"+"\""+":"+"%d") % (k, v), end='')
else:
print(("\"" + "%c" + "\"" + ":" + "%d,") % (k, v), end='')
num = num + 1
print("}", end='')