2020-10-17

#简单小代码
##点名随即抽取

import random
keys = [2019660101,2019660102,2019660103,2019660104,2019660105,2019660106,2019660107,2019660108,2019660109,2019660110,2019660111,2019660112,2019660113,2019660114,2019660115,2019660116,2019660117,2019660119,2019660120,2019660121,2019660122,2019660123,2019660124,2019660125,2019660126,2019660127,2019660128]
values = ['周嘉铖','钱珑超','徐展','尤桉哲','钱涛','黄舒怡','胡志辉','吴昭耀','陈萌萌','郑巧悦','陈艳','梁明皓','蒋俊超','徐颖','倪宏涛','潘梦倩','王中阳','毛贞强','张嫒','朱速航','陈涛','陆元超','叶振雄','奚申杰','叶梦婷','徐丽丽','潘艳']
mydict= dict(zip(keys,values))
a = int(input('抽取',))
i = 1
list1 = []
list2 = []
while i < a:
    a = random.choice(list(mydict))
    list1.append(a)
    list2.append(mydict.get(a))
    i+=1
print(list1,list2)

首先创建了一个字典,key\value为名字和学号
这串代码的主要函数为random随即函数
random函数要运用为列表,所以要用list()把字典转为列表
##求列表中的偶数个数

def even(x):
    z = 0
    for i in x:
        if i % 2 == 0:  #求偶数
            z += 1
            print('偶数位置:', [i])
    return z

a = even([1, 2, 3, 4, 5, 6])  # 输入序列
print('序列中偶数的个数为:', a)

使用得分调用函数,创建循环,当除以2为0则偶数个数加一
##求函数sin从0到π的与x轴的面积
这题主要先了解求面积的方法
把0到2π分为x份,分的越多越接近它的面积
在把面积之和求出来就是面积

import math
import numpy
i = 0
j = 0
n = 0
m = 0
list1 = []
a = int(input("请输入矩形个数:"))   #矩形个数越多结果越准确
if a < 5:                   #5个起步太少了不精确
    print("请重新输入")
else:
    b = math.pi//a
    for i in range(0,2*math.pi,b):
        list1.append(abs(math.sin(i)))
    while j <= len(list1):
        n+=int(list1(j))
        j+=1
    m = n*b
    print(m)

分成a份,通过sin函数求高,最好面积相加,这个是简单的数学问题。通过代码把意思表示出来。
##冒泡排序

a=[1,2,6,0,3,2,0.5,-1,2.4]
a.sort(reverse = False)
print(a)

python有直接的简便代码,不用很复杂的运用循环嵌套,直接使用sort函数,对数据进行排序会更加方便,其中reverse0函数定义排序为从小到大还是从大到小
##查找所有的元素(不重复出现)。

from collections import Counter  #引入Counter
lst = eval(input('请输入列表lst:'))
a = dict(Counter(lst))
b = []
print ([key for key,value in a.items()if value > 1 ]) #展示重复元素
b=[key for key in(lst+a) if key not in list1]
print(b)

items()方法返回可遍历的(键, 值) 元组数组。
print输出函数对字典中的值进行比较,输出重复出现的值
b输出不在重复出现的列表里面的值
从而达到输出效果
##编写一个demo程序,在每一行的最后加上#和第几行,输出一个新的文件

filename = 'demo.py'
  
with open(filename,'r',encoding='utf-8') as fp:
     lines = fp.readlines()          #读取所有行
  
  
maxLength = max(map(len,lines)) #获取最长的行的长度
print(maxLength)
  #遍历所有行
for index,line in enumerate(lines):
     newLine = line.rstrip()            #删除每行右侧的空白字符
     newLine = newLine + ' ' * (maxLength - len(newLine))   #在每行右侧填充空格
     newLine = newLine + '#' + str(index + 1) + '\n'            #在每行右侧增加行号
    lines[index] = newLine                                     #把新组装的行放到列表中

#把新组装的列中写入到demo_new.py文件中
with open('demo_new.py','w',encoding='UTF-8') as fp:
     fp.writelines(lines)

思路:创建一个新的文件demo,然后打开文件(一般文件打开记得要关闭)
因为要左对齐,所以我们要找到最长的一行,并记录字符数
然后把其他的短行加上空格与最长的字符一致长,最后加上#和第几行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值