赞
踩
输入:hello nowcoder
输出:8
最后一个单词为nowcoder,长度为8
a = input().split(' ')
print(len(a[-1]))
输入:ABCabc
A
输出:2
a=input().lower() #第一行的input
b=input().lower() #第二行的input
print(a.count(b))
#str.count(sub, start= 0,end=len(string)) 可以统计子字符串出现次数
按长度为8拆分每个输入字符串并进行输出;
长度不是8整数倍的字符串请在后面补数字0
输入:abc
输出:abc00000
l = input()
for i in range(0, len(l), 8):
print("{0:0<8s}".format(l[i:i+8]))
{冒号+填充符+对齐方式+宽度}
输入:9876673 输出:37689
n = input()
l = []
for i in n[::-1]:
if i in l:
continue
else:
l.append(i)
print(i,end='')
print(input()[::-1])
print(input()[::-1])
line = input().split(' ')
for i in line[::-1]:
print(i,end= ' ')
n = int(input())
b = []
for i in range(n):
b.append(input())
b = sorted(b)
for i in b:
print(i)
import re
a = input()
res = re.split(r'[^A-Za-z]',a)
res.reverse()
#res是列表['student', 'a', 'am', 'I']
print(" ".join(res))
f = float(input())
i = int(f)
if f-i >=0.5:
print(i+1)
else:
print(i)
error:int('5.5')不行
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
输入:0xAA
输出:170
s = input()
print(int(s,16))
int(x进制型,x)可以完成x进制到十进制的转换
num = int(input())
bi = bin(num) #十进制转二进制
print(str(bi).count('1'))
输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
输入:180
输出:2 2 3 3 5
import math
n = int(input())
for i in range(2, int(math.sqrt(n))+1): #sqrt取平方根
while n % i == 0:
print(i, end=' ')
n = n // i #int的效果 //是除了并取整
if n > 2:
print(n)
求输入A和B的最小公倍数
A,B = input().split()
A = int(A)
B = int(B)
# map(function函数, iterable可遍历序列)
A, B = map(int, input().split())
T = 1
for i in range(2, min(A,B)+1):
while A%i == 0 and B%i == 0:
T = T*i
A = A/i
B = B/i
print(T*A*B)
数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并
输入:
4
0 1
0 2
1 2
3 4
输出:
0 3
1 2
3 4
注意字符串要用int
dic.get(查找的key,无此key返回默认值)
n = int(input())
dic = {}
for i in range(n):
line = input().split()
k = int(line[0])
v = int(line[1])
dic[k] = dic.get(k,0) + v
for j in sorted(dic):
print(j,dic[j])
输入:abc -----输出:3
from collections import Counter
a = input()
print(len(Counter(a)))
a = input()
dic = {}
for i in a:
if i not in dic.keys():
dic[i] = 1
else:
dic[i] += 1
minv = min(dic.values())
res = []
for i in a:
if dic[i] != minv:
print(i,end='')
while True:
n = int(input())
if n == 0:
break
else:
print(n//2)
小写字母输入模拟手机九宫格,大写字母为后一位的小写,数字不变
输入 YUANzhi1987
输出 zvbo9441987
A = '1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' B = '122233344455566677778889999bcdefghijklmnopqrstuvwxyza' a = [] b = [] for i in A: a.append(i) for i in B: b.append(i) inpu = input() password = [] for i in inpu: if i in a: password.append(b[a.index(i)]) else: #number password.append(i) for i in password: print(i,end='')
n = int(input()) #以n为4为例 number = 0 #输出矩阵中最大的数 number = 10 for i in range(n+1): number += i #L里有四行 为4个list L = [] for i in range(n): L.append([]) while number >0: for i in range(n): L[i].append(str(number - i)) number -= n n -=1 #以4,3,2,1循环前面for #输出为[10, 6, 3, 1], [9, 5, 2], [8, 4], [7]] #每个list倒序输出 for item in L: print(" ".join(item[::-1])) #join某需要连接的序列 需要为str
n=int(input())
def func(n):
if n<=2:
return 1
else:
return func(n-1)+func(n-2)
print(func(n))
输入:886
输出:5
#列表哈希
num = input()
num = num.lstrip('-')
l1 = ['0','6','8','9']
l2 = [1,1,2,1]
zero = 0
for i in num:
if i in l1:
zero += l2[l1.index(i)]
print(zero)
#字典哈希
num = input()
num = num.lstrip('-')
l1 = ['0','6','8','9']
l2 = [1,1,2,1]
dic=dict()
for i in range(len(l1)):
dic[l1[i]]=l2[i]
zero = 0
for i in num:
zero+=dic.get(i,0)
print(zero)
输入:4 5
1 2 1 3 1
2 1 3 2 4
4
1 2
2 4
2 3
1 4
输出:Yes #第一条路为1到2
No
Yes #第四条路为3到2
Yes #第5条路为1到4
n,m = input().split() l1 = [] l2 = [] for i in input().split(): l1.append(int(i)) for i in input().split(): l2.append(int(i)) q = input() li = [] for i in range(5): li.append([l1[i],l2[i]]) for i in range(int(q)): a,b = map(int,input().split()) if [a,b] in li or [b,a] in li: print('Yes') else: print('No')
今天,在冬木市举行了一场盛大的舞会。参加舞会的有n位男士,从1到n编号;有m位女士,从1到m编号。对于每一位男士,他们心中都有各自心仪的一些女士,在这次舞会中,他们希望能与每一位自己心仪的女士跳一次舞。同样的,对于每一位女士,她们心中也有各自心仪的一些男士,她们也希望能与每一位自己心仪的男士跳一次舞。在舞会中,对于每一首舞曲,你可以选择一些男士和女士出来跳舞。但是显然的,一首舞曲中一位男士只能与一位女士跳舞,一位女士也只能与一位男士跳舞,由于舞会的时间有限,现在你想知道最少需要准备多少首舞曲,才能使所有的人的心愿都得到满足?
输入
第一行包含两个整数n,m,表示男士和女士的数量。1 <= n,m <= 100
接下来n行,对于第 i+1 行,描述的是编号为i的男士心仪的女士。
在第 i+1 行中,首先包含一个整数 0 <= ki <= m,表示编号 i 的男士心仪的女士的数量,然后包含 ki 个不同的整数分别表示心仪的女士的编号。
接下来m行,以相同的格式描述每一位女士心仪的男士。
输出:一个整数,表示最少需要准备的舞曲数目。
输入样例1
2 3
1 1
2 2 3
0
0
0
输出2
输入样例2
3 3
2 1 2
2 1 3
2 2 3
1 1
2 1 3
2 2 3
输出样例2
2
n,m = map(int,input().split())
dic = {}
for i in range(1,n+1):
dic[i] = [int(v)+n for i, v in enumerate(input().split()) if i!=0]
#将女生的编号处理为i+n
for i in range(n+1,n+m+1):
dic[i] = [int(v) for idx, v in enumerate(input().split()) if idx!=0]
#此时dic长的样子为 编号:[心动编号1,心动编号2...]
#{1: [4, 5], 2: [4, 6], 3: [5, 6], 4: [1], 5: [1, 3], 6: [2, 3]}
#return dic.values()中长度最长的
maxl = 0
for i in dic.values():
maxl = max(maxl,len(i))
print(maxl)
一些错误的纯纯搞心态的尝试:
将题目理解为:一共要跳多少场舞,也就是每个人跟自己的心动对象都跳舞,减去两个人都相互心动
‘’‘写一个列表,里面装一些tuple,每个tuple存跳舞的两个人的编号 女生的编号在原本的i上加n,跟男生的编号区分 遍历到男生时,元组为tuple(男生,女生) 遍历到女生时,元组仍然为tuple(男生,女生) 最终将list用set去重’‘’ n,m = map(int,input().split()) #男生 ln = [] for i in range(1,n+1): a = [int(v) for idx, v in enumerate(input().split()) if idx!=0] for j in a: ln.append((i,int(j)+n)) for i in range(n+1,n+m+1): b = [int(v) for idx, v in enumerate(input().split()) if idx!=0] if b == []: continue else: for j in b: ln.append((int(j),i))
不过通过这个错误常识也可以浅学一下:
如何快速简易建立列表:
list.append((tuple))要加两层括号
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。