下面会输出什么
funcs = [lambda x:x*i for i in range(4)]
print([fun(2) for fun in funcs])
0、给定两个列表,怎么找出他们相同的元素和不同的元素?
a = [1,2,3,4,7]
b = [1,2,4,2,5]
a = set(a)
b = set(b)
print(a&b)
print(a^b)
1、将1-2-3-4转换成2-1-4-3。
nums = [1, 2, 3, 4]
for num in nums:
if num % 2 == 0:
nums.insert(nums.index(num)-1, num)
nums.pop(num)
2 、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
nums = []
for i in range(1, 5):
for j in range(1, 5):
for l in range(1, 5):
if i != j and j != l and i != l:
res = i * 100 + j * 10 + l
nums.append(res)
3、企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
money = int(input("请输入金额:"))
profits = [1000000, 600000, 400000, 200000, 100000, 0]
ts = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
r = 0
for i in range(6):
if money > profits[i]:
r += (money - profits[i]) * ts[i]
money = profits[i]
4、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
import math
num = 1
while True:
if math.sqrt(num + 100)-int(math.sqrt(num + 100)) == 0 and math.sqrt(num + 268)-int(math.sqrt(num + 268)) == 0:
print(num)
break
num += 1
5、 输入某年某月某日,判断这一天是这一年的第几天?
import datetime
date = input("请输入时间, datetime:(20180812):")
dt = datetime.datetime.strptime(date, "%Y%m%d")
this_year = datetime.datetime.strptime(date[:4]+"0101", "%Y%m%d")
print((dt-this_year).days)
6、输出9*9口诀。
# for i in range(1, 10):
# for j in range(1, i+1):
# print("%d * %d = %02d " % (j, i, (i*j)), end="")
# print()
[print("%d * %d = %02d %s" % (j, i, (i*j), "\n" if i==j else ""), end="") for i in range(1, 10) for j in range(1, i+1)]
7、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
a = 1
b = 1
for i in range(1, 21, 2):
print('%d %d' % (a, b),)
a += b
b += a
8、判断101-200之间有多少个素数,并输出所有素数。
for i in range(2, 100):
for j in range(2, i):
if i % j == 0:
break
else:
print(i)
9、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
1、[print(n) for n in range(100, 1000) if n == (n // 100) ** 3 + (n // 10 % 10) ** 3 + (n % 10) ** 3]
2、for n in range(100, 1000):
if n == (n // 100) ** 3 + (n // 10 % 10) ** 3 + (n % 10) ** 3:
print(n)
10、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
ss = input("请输入一串数字")
letter = 0 # 字符串
space = 0 # 空格
digit = 0 # 数字
other = 0 # 特殊字符
for s in ss:
if s.isalpha():
letter += 1
elif s.isspace():
space += 1
elif s.isdigit():
digit += 1
else:
other += 1
print(letter, space, digit, other)
11、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
s = 100
num = 100
for _ in range(9):
s /= 2
num += s*2
print(num, s)
12、冒泡排序
nums = [1, 2, 3, 7, 9, 8]
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if nums[i] > nums[j]:
time = nums[i]
nums[i] = nums[j]
nums[j] = time
print(nums)
13、a=“advajlsdga”, b=“gsadgj” 去除相同的
a, b = set("advajlsdga"), set("gsadgj") # {'v','l'}
print(a-b)
14、 输入字符串去除相邻重复的AAAABBBCCDAABBB = ABCDAB
def unique(test):
list = []
list.extend(test)
i = 0
while i < len(list):
if list[i] == list[i + 1]:
del list[i + 1]
i -= 1
i += 1
if i >= len(list) - 1:
break
return list
print(unique("AAAABBBCCDAABBB"))
16、求1到100的和
print(sum(range(101)))
17、输入一个数求是否是回文数(12321, 121, 45654)
b = a[int(len(a)/2)+1:len(a)]
a = a[0:int(len(a)/2)]
if a == b[::-1]:
print("是回文数")
else:
print("不是回文数")
18、判断两个列表中相同的与不同的
a = [1,2,3,4,7]
b = [1,2,4,2,5]
a = set(a)
b = set(b)
print(a&b)
print(a^b)
19、斐波那契额数列
def fib(n):
a, b = 0, 1
while b < n:
a, b = b, a+b
print(b)
20、x, y 取值[1,2,3,4,5] ,生成x为键,y为值的字典, 其中x为基数,y为偶数
dic = {}
a = [1, 2, 3, 4, 5]
for i in a:
if i%2==0:
dic[a.index(i)] = i
print(dic)
21、统计1000个词中最频繁的几个词
import collections
s = "a b a b a c m m d m a e w q e d v b u y h b jl j g b g c b"
colls = collections.Counter(s.split())
print(colls.most_common(n))
22、不使用set的情况下怎么删除列表中的0,不允许出现新列表
a = [0, 0, 0, 1, 0, 0, 2, 3, 4, 0, 0]
for i in a[::-1]:
if i == 0: a.remove(i)
print(a)
23、设 list_a = [(‘a’, 100, 20), (‘b’, 20)],请将其转换成字典 dict_a,键为 list_a 中每个元组的每一个元素,值为 list_a ,其余元素组成的列表(要求,用字典推到式)
list_a = [("a", 100, 200), ("b", 100, 200)]
print({i[0]: i[1:] for i in list_a}
24、使用递归的方式翻转字符串
def f(s):
if s == "":
return s
return f(s[1:]) + s[0]
print(f("hello,world"))
25、根据字典key排序
dic = {1:"1", 3:"3", 2:"2", 5:"5", 4:"4"}
keys = dic.keys()
keys = list(keys)
keys.sort()
print({key: dic[key] for key in keys})
26、统计中文小说中出现最多的词语
import jieba.analyse
import collections
finals = []
filename = r"test.txt"
# 打开文件夹,读取内容,并进行分词
with open(filename, 'r', encoding='utf-8') as f:
for line in f.readlines():
word = jieba.analyse.extract_tags(line)
finals += word
colls = collections.Counter(finals)
print(colls)
** 现有字典 d={‘a’:24,‘g’:52,‘i’:12,‘k’:33}请按字典中的 value 值进行排序?**
d = {'a':24, 'g':52, 'i':12, 'k':33}
new_dic = dict(sorted(d.items(),key=lambda x:x[1]))