1.a+b
#题目1
#给你两个数a、b,请你计算它们的和,并输出。
#例如: a = 3,b = 2
# 输出:5
a = 3
b = 2
#答题:
###########################方法1#################################
'''
print (a+b)
'''
##########################方法2###################################
'''
def add(a,b):
return a+b
print(add(a,b))
'''
##########################方法3###################################
print(sum([a,b]))
2.列表排序
#题目2
# 给你一个列表L,对L进行升序排序并输出排序后的列表
# 例如:L = [8,2,50,3]
# 则输出:[2,3,8,50]
L = [8, 2, 50, 3]
#答题
###############################方法1##################################
'''
L.sort() #L.sort()默认升序 降序:L.sort(reverse=True)
print(L)
'''
#############################方法2###################################
print(sorted(L))
3.字符串逆序
#题目3
#给你一个字符串a,请你输出逆序之后的a
#例如:a = 'xydz'
#则输出:zdyx
a = 'xydz'
#答题
##########################方法1#############################
print(a[::-1])
#########################方法2#############################
# i = ""
# for x in a:
# i = x + i
# print(i)
4. 输出字典key
给你一字典a,如a={1:1,2:2,3:3},输出字典a的key,以’,‘连接,如’1,2,3’。要求key按照【字典序升序排列】(注意key可能是字符串)
例如:a = {1:1,2:2,3:3},则输出:1,2,3
①
a = {1:1,2:2,3:3}
##-------------------------------##
b = sorted(a.keys()) #key升序 [1,2,3]
d = map(str,c) #转换为字符串类型
print(','.join(d)) # 1,2,3
②
print(','.join(str(c) for c in sorted(list(a.keys()))))
5.输出字符奇数位置的字符串
给你一个字符串a,输出a中奇数位置字符构成的字符串(位置编号从1开始)
例如:a = ‘xyzwd’
则输出:xzd
a = 'xyzwd'
#-----------------#
print(a[::2])
6.求解100以内的所有素数
输出100以内的所有素数,素数之间以一个空格区分。
素数指从大于1,且仅能被1和自己整除的整数
(注意,最后一个数字之后不能有空格)
def is_prime(n):
for i in range(2,n):
if n % i == 0:
return False
return True
print(" ".join(map(str,filter(is_prime,range(2,100)))))
7.求矩形面积
已知矩形长a,宽b,输出其面积和周长,面积和周长以一个空格隔开。
例如:a = 3,b = 8
则输出:24 22
a =3
b =8
#-----------------------#
print(a*b,(a+b)*2)
8.求中位数
给你一个整数列表L,输出L的中位数(若结果为小数,则保留一位小数)
例如:L = [0,1,2,3,4]
则输出:2
L = [0,1,2,3,4]
#-------------------#
L.sort() #先排序,只能用sort,不能用sorted
d = len(L)
if d % 2 != 0:
print(L[(d-1)//2])
else:
print("{:.1f}".format((L[(a-1)//2]+L[a//2])/2.0))
9.最大公约数
给你两个正整数a和b,输出它们的最大公约数
例如:a = 24,b = 9
则输出:3
①
a = 24
b = 9
#递归
def gcd(x,y):
if x%y == 0:
return y
return gcd(y,x%y)
print(gcd(a,b))
②
a = 24
b = 9
#非递归
while b > 0:
a,b = b,a%b
print(a)
③
a = 24
b = 9
print(max([x for x in range(1,a+1) if a%x == 0 and b%x == 0]))
④
a = 24
b = 9
import math
iprint(math.gcd(a,b))
10.最小公倍数
给你两个正整数a和b,输出它们的最小公倍数
例如:a = 3,b = 5
则输出:15
①
a = 3
b = 5
print(min([x for x in range(min(a,b),a*b+1) if x%a == 0 and x%b == 0]))
②
a = 3
b = 5
import math
print(a*b/math.gcd(a,b)) # a*b / 最大公约数
11.结尾0的个数
给你一个正整数列表L,输出L内所有数字的乘积末尾0的个数。
(提示:不要直接相乘,数字很多,相乘得到的结果可能会很大)
例如:L = [2,8,3,50]
则输出:2
判断 2 和 5 的个数,取当中的最小值。因为 2*5 等于 10,所以只要计算得出它们的个数最小值,就可以知道乘积结果末尾 0 的个数。
L = [2,8,3,50]
def count(L):
a = 0
b = 0
for i in L:
while i % 2 == 0:
i /= 2 # i=i/2
a += 1 # a=a+1
while i % 5 == 0:
i /= 5
b += 1
return min(a,b)
print("1") if 0 in L else print(count(L))
#<表达式1> if <条件> else <表达式2>
12.结尾非零数的奇偶性
给你一个正整数列表L,判断列表内所有数字乘积的最后一个非零数字的奇偶性。如果为奇数输出1,偶数则输出0
例如:L = [2,8,3,50]
则输出:0
#判断2和5的个数,2多则为偶,5多则为奇
L = [2,8,3,50]
a = 0
b = 0
for i in L:
while i % 2 == 0:
i /= 2
a += 1
while i % 5 == 0:
i /= 5
b += 1
print("0") if a > b else print("1") #没有考虑列表有0,不好考虑
13.光棍的悲伤
光棍们对1总是那么敏感,因此每年的11.11被戏称为光棍节。小Py光棍几十载,光棍自有光棍的快乐。让我们勇敢地面对光棍的身份吧,现在就证明自己:
给你一个整数a,数出a在二进制表示下1的个数,并输出。
例如:a = 7
则输出:3
①
a = -7
print(bin(a).count('1'))
②
a = -7
b = format(a,'b') #二进制转成十进制
count = 0
for i in b:
if i == '1':
count += 1
print(count)
'''
#'b'、'd'、'o'、'x'分别是二进制、十进制、八进制、十六进制
二进制:以0b或0B开头 bin()
八进制:以0o或0O开头 oct()
十六进制:以0x或0X开头 hex()
'''
14.Python之美
输出Python之禅。
注意:输出python之禅的源码即可,不要转换为英文。
import this
print(this.s)
15.大小写互换
给定一个字符串a,将a中的大写字母转换成小写,其它字符不变,并输出。
例如:a = “aaabbbCCCDDD”
则输出:aaabbbcccddd
a = "aaabbbCCCDDD"
print(a.lower())
#str.lower() 或 str.upper() 全部字符小写/大写