''' funtion:获取任意自然数的各位数字之和 map(func, *iterables) --> map object ''' num = input('请输入一个自然数:') print(sum(map(int,num))) ''' function: 输入两个集合{}并计算其交集、并集和差集 input() 从输入中获取并返回一个字符串 eval() 函数用来执行一个字符串表达式,并返回表达式的值 ''' setA = eval(input('请输入一个集合:')) setB = eval(input('请输入一个集合:')) print('交集:',setA & setB) print('并集:',setA | setB) print('setA-setB:',setA - setB) ''' function: 输入一个整数列表,返回偶数列表 eval() 函数用来执行一个字符串表达式,并返回表达式的值 filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。 其接收两个参数,第一个为判断函数,第二个为可迭代对象,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新迭代器对象中 ''' lst =input('请输入一个包含若干整数的列表:') lst =eval(lst) print(list(filter(lambda x:x%2==0, lst))) ''' function: 输入两个整数列表lstA和lstB,返回一个字典,要求lstA中的元素为键,lstB中的元素为值,字典长度取决于最小的列表 zip() 函数用于将一个或多个可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。 我们可以使用 list() 转换来输出列表。 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表 dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v ''' lstA =eval(input('请输入包含若干整数的列表 lstA:')) lstB =eval(input('请输入包含若干整数的列表 lstB:')) result =dict(zip(lstA, lstB)) print(result) # print(len(result)) # x,y=zip(*zip(lstA,lstB)) # print(y) # print(y) ''' function: 输入一个整数列表,输出新列表并要求降序排列 sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。 sorted(iterable, key=None, reverse=False) iterable -- 可迭代对象。 key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认) 先按照成绩降序排序,相同成绩的按照名字升序排序 d1 = [{'name':'alice', 'score':38}, {'name':'bob', 'score':18}, {'name':'darl', 'score':28}, {'name':'christ', 'score':28}] l = sorted(d1, key=lambda x:(-x['score'], x['name'])) print(l) ''' lst =eval(input('请输入包含若干整数的列表 lst:')) print(sorted(lst,reverse=True)) ''' function: 输入一个整数列表,输出列表中所有整数连乘的结果 reduce() 函数会对参数序列中元素进行累积。 函数将一个数据集合(列表,元组等)中的所有数据进行下列操作: 用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作, 得到的结果再与第3个数据用 function 函数运算,最后得到一个结果。 reduce(function, iterable[, initializer]) function -- 函数,有两个参数 iterable -- 可迭代对象 initializer -- 可选,初始参数 ''' from functools import reduce lst =eval(input('请输入包含若干整数的列表 lst:')) print(reduce(lambda x,y:x*y,lst)) ''' function: 输入两个包含2个整数的列表,代表城市中两个地点的坐标,输出两点之间的曼哈顿距离 map() 会根据提供的函数对指定序列做映射。 返回迭代器 ''' lstA =eval(input('请输入包含2个整数的列表 lstA:')) lstB =eval(input('请输入包含2个整数的列表 lstB:')) print(sum(map(lambda i,j:abs(i-j),lstA,lstB))) ''' funtion: 输入包含若干集合的列表,输出这些集合中的并集 reduce() 函数会对参数序列中元素进行累积,返回一个结果 ''' from functools import reduce lstSets =eval(input('请输入包含若干集合的列表 lst:')) print(reduce(lambda x,y:x|y,lstSets)) ''' funtion:已知等比数列首项a1,公比q和一个自然数n,输出等比数列前n项的和 等比数列是指从第二项起,每一项与它的前一项的比值等于同一个常数的一种数列 ∑ = Sn = a1 + a2 + ... + an = a1 * (qn -1) / (q-1) (特殊情况: 当 q = 1 时, Sn = n * a1) int([x]) -> integer int(x, base=10) -> integer base must be >= 2 and <= 36, or 0 >>> int('0b100', base=0)--->4 ''' a1 =int(input('请输入等比数列首项:')) q =int(input('请输入等比数列公比(不等于1且小于36的正整数:')) n =int(input('请输入一个自然数:')) result=a1*int('1'*n,q) print(result) ''' funtion:输入一个字符串,输出其中出现次数最多的字符集出现的次数,并计数,使用字典 ''' data =input('请输入一个字符串:') count={} d=dict() for ch in data: # d.get(ch,0)返回ch出现的值,默认为None,0是来取代None d[ch]=d.get(ch,0) +1 mostCommon =max(d.items(),key=lambda item:item[1]) print(mostCommon) for ch in data: if ch in count: count[ch] +=1 else: count[ch]=1 print(count) ''' funtion:用蒙特卡罗方法计算圆周率π 正方形内部有一个相切的圆,圆和正方形的面积之比是π/4 现在,在这个正方形内部,随机产生10000个点(即10000个坐标对 (x, y)),计算它们与中心点的距离,从而判断是否落在圆的内部。 如果这些点均匀分布,那么圆内的点应该占到所有点的 π/4,因此将这个比值乘以4,就是π的值 ''' from random import random times =int(input('请输入掷飞镖次数:')) hits =0 for i in range(times): x = random() y = random() if x*x + y*y <=1: hits +=1 print(4.0 * hits/times) ''' funtion:轮盘抽奖游戏 ''' from random import randrange def playGame(): # 查找并返回本次获奖情况 value = randrange(360) for k,v in areas.items(): if v[0]<=value<v[1]: return k areas = {'一等奖':[0,30], '二等奖':[30,108], '三等奖':[108,360]} results = dict() for i in range(10000): r = playGame() results[r]=results.get(r,0)+1 for item in results.items(): print('{0[0]}:{0[1]}次'.format(item))
# https://pyperclip.readthedocs.io/en/latest/ import pyperclip while True : # pyperclip.copy('Hello, world!') # pyperclip.paste() # pyperclip.waitForPaste() print ( pyperclip. waitForNewPaste ( ) ) # 获取要输入新的坐标,也可以通过autohotkey import time import pyautogui as pag import os try : while True : print ( "Press Ctrl-C to end" ) x , y = pag. position ( ) # 返回鼠标的坐标 posStr = "Position:" + str ( x ) . rjust ( 4 ) + ',' + str ( y ) . rjust ( 4 ) print ( posStr ) # 打印坐标 time . sleep ( 0.2 ) os . system ( 'cls' ) # 清楚屏幕 except KeyboardInterrupt : print ( 'end....' ) # 打印消息 import pyautogui import time import pyperclip content = """ 呼叫龙叔! 第二遍! 第三遍! 第四遍...
评论
发表评论