询问你这个序列里面出现次数最多的元素的出现次数。输入多行,一行一个数表示序列里面的每一个数。输出一行,表示出现次数最多的数字的出现次数。
lines = []
stopword = ''
try:
for line in iter(input, stopword):
lines.append(line)
except EOFError:
pass
count_max = 0
for num in lines:
count_max = max(lines.count(num), count_max)
print(count_max)
输入一个大于等于 5 且小于 50000 的自然数 x,输出一个列表包含两个互不相同的小于x的最大素数
import math
def Prime(num):
if num == 2:
return True
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
return False
return True
x = int(input())
outprime = []
for i in range(x, 1, -1):
if Prime(i):
outprime.insert(0, i)
if len(outprime) == 2:
break
print(outprime)
n 张卡片,每张卡片上要么是 0,要么是 5
从其中选出若干卡片然后组成一些数字,你能找出所有可能的数字中能整除 90 的最大数字吗?若不存在,请输出 -1 。
输入第一行表示n张卡片
输入第二行表示每张卡片的值
输出最大值或-1
def maxlist(thelist):
if 0 not in thelist:
print(-1)
elif 5 not in thelist:
print(0)
else:
for i in range(thelist.count(5), 8, -1):
if 5 * i % 9 == 0:
print('5' * i + '0' * thelist.count(0))
exit(0)
print(0)
n = int(input())
filist = list(map(int, input().split()))
maxlist(filist)
给定一个十进制数N。N满足:除了最高位是2,其余都是3,且3的个数大于0。求N在K进制的表示.
输入一行两个整数N,K
N, K = map(int, input().split())
numlist = ''
while N:
temp = N % K
if temp >= 10:
numlist = numlist + chr(ord('A') + temp - 10)
else:
numlist = numlist + str(temp)
N //= K
print(numlist[::-1])
读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:
第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共 N 个星号。
N = int(input())
half = N // 2
for i in range(0, half + 1):
print(' ' * (half - i) + '*' * (2 * (i + 1) - 1) + ' ' * (half - i))
.假设所有的短号都是是 6+手机号的后 5 位,注意,这个手机号码可能并不是 11 位的,这个时候你需要输出 “Halation - I can’t join it!”
输入数据的第一行是一个N(N <= 200),表示有N个数据,接下来的N行每一行为一个多位的手机号码,但是长度不会超过 50。
输出应包括 N 行,每行包括一个对应的短号或者提示信息,输出应与输入的顺序一致
N = int(input())
numlist = ["Halation - I can't join it!"] * N
for i in range(0, N):
num = input()
if len(num) == 11:
numlist[i] = '6' + num[-5::]
for i in range(0, N):
print(numlist[i])
输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。
从左到右扫描输入的句子:如果句子中有超过 3 个连续的 6,则将这串连续的 6 替换成 9;但如果有超过 9 个连续的 6,则将这串连续的 6 替换成 27。其他内容不受影响,原样输出。
import re
youstr = input()
youstr = re.sub(r'6{10,}', "27", youstr)
youstr = re.sub(r'6{4,9}', "9", youstr)
print(youstr)
输入两行两个分数,计算分数的和
from fractions import Fraction
a = input()
b = input()
c = Fraction(a) + Fraction(b)
if c == 0:
print('0/1')
else:
print(c)
检测重复元素
第一行输入一个数N;然后输入N行,每行一个元素
输出最先重复元素的序号
N = int(input())
numlist = []
flag = False
for i in range(0, N):
num = int(input())
if num in numlist and flag == False:
thenum = i + 1
flag = True
numlist.append(num)
print(flag)
if flag == True:
print(thenum)
为了准备账号,admin 有时需要为用户随机生成密码。
问题是总是有一些难以识别的密码,比如说1和l(L的小写字母),或者0和O(o的大写字母)。
一个解决方法是用@替换1,用%替换0,用L替换l,用o替换O。
现在你的任务是写一个程序来帮助 admin 核对账户信息并改变难以识别的密码。
每个输入文件包含一组测试数据。
对于每组输入数据,包含一个正整数N(<=1000),接着是N行账户信息。
每条账户信息包含一个用户名和一个密码,都是不包括空格的不超过10个字符的字符串。
对于每组输入数据,首先输出需要修改的密码总数M,接着输出N行修改后的账户信息,即用户名和对应的修改后的密码。账户必须按照和读入顺序一样的顺序输出。
如果没有账户需要修改,输出一行 “There are N accounts and no account is modified”,N为账户总数。但是,如果N为1,你必须输出 “There is 1 account and no account is modified” 。
import re
def reply(matched):
if matched.group() == '1':
return '@'
elif matched.group() == 'l':
return 'L'
elif matched.group() == '0':
return '%'
elif matched.group() == 'O':
return 'o'
N = int(input())
staccount = []
stcount = 0
for i in range(0, N):
acname, ackey = input().split()
if re.search(r'[0Ol1]',ackey):
stcount += 1
staccount.append(acname + ' ' + re.sub(r'[0Ol1]', reply, ackey))
if stcount == 0:
if N == 1:
print("There is 1 account and no account is modified")
else:
print("There are %d accounts and no account is modified"%N)
else:
print(stcount)
for i in range(0, stcount):
print(staccount[i])