PythonTip

Published on Sep 28, 2016 ,1 min reading time

给你一个list L, 如 L=[2,8,3,50], 对L进行升序排序并输出,如样例L的结果为[2,3,8,50]

L.sort()
print(L)

给你一个字符串 a, 如a=‘12345’,对a进行逆序输出a。

print(a[::-1])

给你一字典a,如a={1:1,2:2,3:3},输出字典a的key,以’,‘链接,如‘1,2,3’。

print(','.join(str(i) for i in a.keys()))

给你一个字符串 a, 输出字符奇数位置的字符串。如a=‘12345’,则输出135。

print(a[::2])

输出100以内的所有素数,素数之间以一个空格区分

def prime(num):    
  for i in range(2,num):        
    if not num%i:return num
print(' '.join(str(i) for i in set(range(2,101))-set(map(prime,range(2,101)))))

已知矩形长a,宽b,输出其面积和周长,面积和周长以一个空格隔开

print("%d %d"%(a*b,(a+b)*2))

给你一个list L, 如 L=[0,1,2,3,4], 输出L的中位数(若结果为小数,则保留一位小数)。

L.sort()
if len(L)%2==0:
    print(sum(L[int((len(L))/2-1):int((len(L))/2+1)])/2.0)
else:
    print(L[int((len(L)-1)/2)])

给你两个正整数a和b, 输出它们的最大公约数

def GCD(a,b):
    if a%b==0:return b
    return GCD(b,a%b)
print(GCD(a,b))

给你两个正整数a和b, 输出它们的最小公倍数

def GCD(a,b):
    if a%b==0:return b
    return GCD(b,a%b)
print(a*b/GCD(a,b))

给你一个正整数列表 L, 如 L=[2,8,3,50], 输出L内所有数字的乘积末尾0的个数,如样例L的结果为2.(提示:不要直接相乘,数字很多,可能溢出)

L=[2,8,3,50]
count2,count5= 0,0
for i in L:    
  while(i%2==0):        
    i = i/2        
    count2 += 1    
  while(i%5==0):        
    i = i/5        
    count5 += 1
print(min(count2,count5))

给你一个正整数列表 L, 如 L=[2,8,3,50], 判断列表内所有数字乘积的最后一个非零数字的奇偶性,奇数输出1,偶数输出0. 如样例输出应为0

print(0 if len(list(filter(lambda x: x!=0 and x%2==0,L))) > len(list(filter(lambda x: x!=0 and x%5==0,L))) else 1)

光棍们对1总是那么敏感,因此每年的11.11被戏称为光棍节。鄙人光棍几十载,光棍自有光棍的快乐。让我们勇敢面对光棍的身份吧,现在就证明自己:给你一个整数a,输出a在二进制表示下1的个数,并输出。

print(bin(a).count("1"))

输出Python之禅注意:输出python之禅的源码即可,不用转换为英文。(小小的提示:print this.s)

import this
print this.s

给定一个字符串a, 将a中的大写字母 转换成小写,其它字符不变,并输出。

print(s.lower())

银行在打印票据的时候,常常需要将阿拉伯数字表示的人民币金额转换为大写表示,现在请你来完成这样一个程序。在中文大写方式中,0到10以及100、1000、10000被依次表示为: 零壹贰叁肆伍陆柒捌玖拾佰仟万以下的例子示范了阿拉伯数字到人民币大写的转换规则:1 壹圆11 壹拾壹圆111 壹佰壹拾壹圆101 壹佰零壹圆-1000 负壹仟圆1234567 壹佰贰拾叁万肆仟伍佰陆拾柒圆现在给你一个整数a(|a|<100000000), 打印出人民币大写表示.注意:请以Unicode的形式输出答案。你可以通过decode(“utf8”)来将utf8格式的字符串解码为Unicode,例如你要输出ans = “零圆”, print ans.decode(“utf8”).Note:数据已于2013-11-19日加强,原来通过的代码可能不能再次通过。


给你两个正整数a,b, 输出它们公约数的个数。

def GCD(a,b):
    if a%b==0:return b
    return GCD(b,a%b)
print(len(list(filter(lambda x:GCD(a,b)%x==0,range(1,GCD(a,b)+1)))))

我们经常遇到的问题是给你两个数,要你求最大公约数和最小公倍数。今天我们反其道而行之,给你两个数a和b,计算出它们分别是哪两个数的最大公约数和最小公倍数。输出这两个数,小的在前,大的在后,以空格隔开。若有多组解,输出它们之和最小的那组。注:所给数据都有解,不用考虑无解的情况。

a,b=min(a,b),max(a,b)
allResult = list(filter(lambda x: x%a==0 and b%x==0,range(a,b+1)))          #所有结果组合
add = min(set(map(lambda x: x+int(a*b/x),allResult)))                       #最小结果之和
result = list(filter(lambda x: x*(add-x)==a*b,allResult))                   #得出结果
print(str(result[0])+" "+str(result[1]))

抓不住爱情的我 总是眼睁睁看它溜走 …现在来练习一下发现爱的能力,给你一个字符串a,如果其中包含”LOVE”(love不区分大小写)则输出LOVE,否则输出SINGLE。

print("LOVE" if "LOVE" in a.upper() else "SINGLE")

给你个小写英文字符串a和一个非负数b(0<=b<26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表的z和a相连,如果超过了z就回到了a。例如a=“cagy”,b=3, 则输出 fdjb

print("".join([chr(ord(i)+b>122 and (96+ord(i)+b-122) or ord(i)+b) for i in a]))

给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。如果存在,则输出YES,否则输出NO。回文串的定义:记串str逆序之后的字符串是str1,若str=str1,则称str是回文串,如”abcba”.