python 技巧,题目总结(当垃圾桶了)

重做一篇python题目。
常常会怀疑自己是否有能力,去完成对自己的要求,但每次都不敢再想下去,总会害怕万一真的实现不了,会怎么样?应该也会像以前一样,在某个晚上,心酸的和自己和解,跟自己说,都会过去。
其实心里也知道,不会怎么样,总会如此,生活还在进行。以前会跟自己说,再努力一点就好,这件事没做好就是因为不够用心,要比别人多付出,最后把自己搞得一团糟。
现在我心中仍有很多目标待实现,但不想再让欲望驱动自己前行。以后的我去上课,只是因为追求并仰望知识,学习acm,只是因为算法的巧妙和智慧,不要让一切变成一纸分数,一张排名。不免有些无奈,但要让大多时候驱动自己前行的,变成热爱。

list1=list(map(int, input('请输入数值组成一个列表:').split(' ')))
print(list1)

当加上if __name__=='__main__':时,只有当前模块是主程序的时候,该模块代码才会被执行,用于测试


真的是醉了。把map和filter弄混了,服了自己。
map:对每个元素进行相同的操作
filter:对一堆元素进行筛选

list1=list((filter(lambda x:(x%5!=0)&(x%7==0) 
			if x else 0,range(2000,3201))))
print(list1)  

简单递归

def h(x):
    if x==0 :
        return 1
    return x*h(x-1)
a=int(input('n='))
print(h(a))

实验1:

  1. print 语句
    按照以下图片编程实现
    @@@@@@@@@@@
    @@@@ @@@@
    @@@ @ @@@
    @@ @@@ @@
    @@@ @ @@@
    @@@@ @@@@
    @@@@@@@@@@@

  2. input 语句
    (1)编程程序,输入直角三角形的两个直角边的长度 a、b,求斜边
    c 的长度。
    (2)编程程序,用于实现两个数的交换。
    (3)编程程序,根据输入的三科成绩值,计算平均值和总和
    (4)编程程序,根据输入的三角形的三边长度,输出三角形的面积

  3. 综合操作
    1、用户输入一个三位自然数,计算并输出其百位、十位和个位上的
    数字。
    2、编写程序, 输入任意大的自然数, 输出各位数字之和。
    3、编写程序,输入两个集合 setA 和 setB,分别输出它们的交集、
    并集和差集 setA-setB。 4、 编写程序, 输入一个自然数, 输出它的二进制、 八进制、 十六进制表示形式。
    5、如下图所示,完成以下两个题目
    编写程序,输入本金、年利率和年份,计算复利(保留两位小数),
    运行结果
    6 .编写程序,输入球的半径,计算球的表面积和体积(结果保留两位小数)

  4. 编写程序, 根据输入本金 b、年利率 r 和年数 n 计算最终收
    v,v=b(1+r)";然后编写测试代码,提示输入本金、年利率和年数,显示最
    终收益(保留两位小数)。 8.编写程序,求解一元二次方程 x2-10x+16=0,运行效果参见下图。 9.编写程序,提示输入姓名和出生年份,输出姓名和年龄,运行效果参见

  5. 输入直角三角形的两个直角边,求三角形的周长和面积,以及两
    个锐角的角度。结果均保留一位小数。

import math
1.
print('''
      @@@@@@@@@@@
      @@@@ @@@@  
      @@@ @ @@@
      @@ @@@ @@
      @@@ @ @@@
      @@@@ @@@@ 
      @@@@@@@@@@@\n''')

print('++++++++++++')
print('+    +      ')
print('++++++++++++')

for i in range(4):
    print('学Python,来穿智播客黑马程序员')
2.
a=int(input('a='))
b=int(input('b='))
c=a**2+b**2
print(f"斜边c的长度:{math.sqrt(c)}")

import math
a=eval(input('a='))
b=eval(input('b='))
a,b=b,a
print(f"a={a},b={b}")

import math
a=eval(input('a='))
b=eval(input('b='))
c=eval(input('c='))
print(f"平均值:{(a+b+c)/2}")
print(f"总和:{a+b+c}")

import math
a=eval(input('a='))
b=eval(input('b='))
c=eval(input('c='))
e=(a+b+c)/2
s=math.sqrt(e*(e-a)*(e-b)*(e-c))
print(f"面积:{s:.2f}")

3.
a=eval(input('请输入一个三位自然数:'))
list1=[]
while a:
    b=a%10
    a//=10  #注意整除
    list1.append(b)
print(f"个位:{list1[0]},十位:{list1[1]},百位:{list1[2]}")

sum=0
a=eval(input("请输入一位自然数:"))
while a:
    sum+=a%10
    a//=10
print(f"数位上的和:{sum}")

a={1,2,3,4,5}
b={4,5,6,7,8}
print(f"并集:{a|b}")
print(f"交集:{a&b}")
print(f"差集:{a-b}")

a=eval(input('请输入一个自然数:'))
print(f'二进制:{bin(a)}')
print(f'八进制:{oct(a)}')
print(f'十六进制:{hex(a)}')

import math
a=eval(input('请输入本金:'))
b=eval(input('请输入年利率:'))
c=eval(input('请输入年数:'))
amount=a*math.pow((1+b),c)
print(f'本金利率和为:{amount:.2f}')

import math
r=eval(input('请输入半径:'))
area=4*math.pi*r*r
volumn=(4/3)*math.pi*r**3
print(f"球体面积:{area:.2f}")
print(f"球体体积:{volumn:.2f}")

# 第七题同第五题类似
import math
a=eval(input('a='))
b=eval(input('b='))
c=eval(input('c='))
e=b**2-4*a*c
if e>0:
    x1=((-b)+math.sqrt(e))/(2*a)
    x2=((-b)-math.sqrt(e))/(2*a)
    print(f"x1={x1},x2={x2}")
elif e==0:
    x1=((-b)+math.sqrt(e))/(2*a)
    print(f"x1=x2={x1}")
elif e<0:
    print('方程无解')

import datetime
name=input("请输入姓名:")
birth=input("请输入出生年份:")
age=datetime.date.today().year-int(birth)
print(f"姓名:{name}\t 年龄:{age}") 

import math
a=eval(input("请输入直角三角形边a="))
b=eval(input("请输入直角三角形边b="))
c=math.sqrt(a**2+b**2)
area=a*b/2
A=math.asin(a/c)*(180/math.pi)
A=round(A,2)
B=math.asin(b/c)*(180/math.pi)
B=round(B,2)
print(f"角度A={A}° \t 角度B={B}°")

实验2

  1. 编写程序计算 1+3+5+7…+99 之和。

  2. 编写程序,计算 2+4+6+8…+100 之和.

  3. 编写程序,使用不同的实现方法输出 2000~3000 的所有闰年。

  4. 编写程序,计算 Sn=1-3+5-7+9-11+…

  5. 编写程序,计算 Sn=1+1/2+1/3+…。

  6. (只要实现四种方式中的一种即可)编写程序,打印九九乘法表。
    要求输出九九乘法表的各种显示效果(上三角、下三角、矩形块等方
    式)

  7. 编写程序输入三角形的 3 条边,先判断是否可以构成三角形,如果可以,
    则进一步求三角形的周长和面积,否则报错“无法构成三角形!”。其运行效果如
    图下图所示(结果均保留位小数)。
    提示: (1)3 个数可以构成三角形必须满足如下条件:每条边的边长均大于 0,
    并且任意两边之和大于第三边。
    (2)已知三角形的 3 条边,则三角形的面积= ( ) ( ) ( ) h h a h b h c      
    ,其
    中 h 为三角形周长的一半。
    (3)其中根号需要导入 math 库并调用 sqrt 函数

  8. 编写程序,输入 x,根据如下公式计算分段函数 y 的值。请分别利用单
    分支语句双分支结构以及条件运算语句等方法实现。

  9. 编写程序,输入一元二次方程的 3 个系数 a、b 和 c,求 ax2
    +bx+c=0 方程的解。

1.
sum1=sum([i for i in range(1,100)])
print(sum1)
2.
sum2=sum([i for i in range(2,101,2)])
print(sum2)
3.
list1=filter(lambda x:(x%4== 0 and x%100 != 0) or x% 400 == 0,range(2000,3001))
list1=list(list1)
print(list1)
4.
s=0
for i in range(1,10):
    if i%2!=0:
        s+=(i*2-1)
    else:
        s+=(-1)*(i*2-1)
print(s)
5.
s=0
for i in range(1,11):
    s+=(1/i)
print(s)
6.
#法一:
for i in range(9,0,-1):
    for j in range(1,i+1):
        print(f"{i}*{j}={i*j}",end='\t')
    print('\n')
#法二:
for i in range(1, 10):
    s = ""
    for j in range(1, i + 1):
        s += str.format("{0}*{1}={2} ", i, j, i * j)
    print(s)

import math
a=eval(input('a='))
b=eval(input('b='))
c=eval(input('c='))
if a+b>c or a+c>b or b+c>a:
    p=1/2*(a+b+c)
    area=math.sqrt(p*(p-a)*(p-b)*(p-c))
    print(f"面积:{area},周长:{2*p}")
else:
    print('无法构成三角形')

import math
x=eval(input("x="))
if x>=0:
    y=math.sin(x)+(x**2-3*x)/(x+1)+2*math.pi
else:
    y=math.log((-5*x),math.e)+6*math.sqrt(abs(x)+math.e**4)-(x+1)**3
#print(round(y,2))
print(f"y={y:.2f}")

import math
a=float(input("a="))
b=float(input("b="))
c=float(input("c="))
e=b**2-4*a*c
if(a==0 and b==0):
    print("无解")
elif (a==0 and b!=0):
    print((-c)/b)
elif (e==0):
    x1=(-b+math.sqrt(e))/2*a
    print("x1=x2={}".format(x1))
elif (e>0):
    x1=(-b+math.sqrt(e))/2*a
    x2=(-b-math.sqrt(e))/2*a
    print("x1={0},x2={1}".format(x1,x2))
else:# 求根公式中e取-e,根号下的结果为虚数部分
    x1=str(-b/2*a)+"+"+str(math.sqrt(-e))+"i"
    x2=str(-b/2*a)+"-"+str(math.sqrt(-e))+"i"
    print("x1={0}\nx2={1}".format(x1,x2))

def go(n):        #递归方法
    if n==1:
        return 1
    s=n
    return s*go(n-1)
n=eval(input("n="))
print(go(n)) 
s=1
for i in range(1,n+1): #循环方法
    s*=i
print(s)
s=1
while n>=1:  #while方法
   s*=n
   n-=1
print(s)


import random
def go(a,b):
    while b!=0:
        tmp=a%b
        a=b
        b=tmp
    return a
a=random.randint(1, 100)
b=random.randint(1, 100)
tmp=go(a,b)
ans=(a*b)/tmp
print(f"a={a},b={b}")
print(f'最大公约数:{tmp},最小公倍数:{ans}')

实验3

  1. 创建列表以列表 list1 = [“lift”, “is”, “short”]和 list2 = [“You”, “need”,
    “python”],并完成以下任务:
    (1)输出 listl 中的第一个元素 lift 及其索引(下标)。
    (2)在 short 后面增加一个!

  2. 编写程序,将列表 s=[9,7,8,3,2,1,5,6]中的偶数变成它的平方,奇数保
    持不变。其运行效果如下图所示。

  3. 分别使用 if 和 while 语句删除将列表 x = [1,2,1,2,1,1,1]中的元素“1”
    全部删除。

  4. 编写程序,删除一个 list 里面的重复元素,即所有元素不重复。
    提示:可以利用 s. append(x)方法把对象 x 追加到列表 s 的尾部。

  5. (选做)统计所输入字符串中单词的个数,单词之间用空格分隔。其
    运行效果如下图所示。

  6. 编写程序,输入字符串,将其每个字符的 ASCI 码形成列表并输出,
    运行效果如下图所示。
    (2)使用 s. append(x)方法将对象 x 追加到列表 s 的尾部。

  7. (选做)创建列表,内容为 a-z、A~Z 和 0-9,从中随机抽出 6 个字符作
    为验证码。

  8. 使用列表实现筛选法求素数。提示:素数判断方法:用一个数分
    别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,
    反之是素数。

  9. 编写程序,求列表 s=[9,7,8,3,2,1,55,6]中的元素个数、最大值、最小
    值,以及元素之和、平均值。请思考有哪几种实现方法?

10.创建一个空字典 student,录入学生姓名和成绩,并一一对应,当所有
学生的信息录入完之后,输入 1 退出。需要注意的是(学生成绩范围
为 0~150)超出范围重新输入。
11.自己编写一个长度至少五 5 的字典,其中姓名为键和性别为值;
请编写一个程序,删除性别为男的员工信息。
12.(选做)请编写一个程序,使用字典存储学生信息,学生信息包括学
号和姓名,请根据学生学号从小到大输出学生的信息。提示:使用
sorted 函数并指定其对应的参数 key 的值。
13.(选做)请编写一个程序,用于统计字符串(“asjhsdjkgavsdjasdbj”)
中每个字母的出现次数(字母忽略大小写,a 和 A 看是作一个字母),
统计出的结果,请按照[‘a’:3,’b’:2]的格式输出。提示:可以使用 chr
函数将字母变为整数,然后利用整数值的大小进行判定。
14.使用元组创建一个存储 Python 关键字的对象,并利用 input 函数输
入任何一个字符串,来检测输入的单词是否是 Python 的关键字。
15.使用集合实现筛选法求素数

list1=["life","is","short"];
list2=["You","need","python"]
print(list1[0],list1.index("life"))
list1.append("!")
print(list1)

s=[9,7,8,3,2,1,5,6]
s=list(map(lambda x:x**2 if x%2==0 else x, s))
print(s)

x = [1,2,1,2,1,1,1]
y=x[:]
#由于在原数列中删除元素,会改变列表下标,参照y中元素删除x中元素
for ele in y:    
    if ele==1:
        x.remove(ele)
print(x) 

x = [1,2,1,2,1,1,1]
while 1 in x:
    x.remove(1)
print(x)
 
list1=[1,1,1,2,2,2,3,3,3]
s1=set(list1)
print(s1)   

s1="The qu1ck brown fox jumps over the lazy dog."
list1=s1.split(" ")
print(len(list1))
   
s="ABCDE123"
list1=[]
for ele in s:
    list1.append(ord(ele))
print(list1) 

import random              
list1=[]
for i in range(6):
    s1=random.randint(1,3)
    if(s1==1): #随机生成大写字母
        a=random.randint(65,90)
        a_chr=chr(a)
        list1.append(a_chr)
    elif s1==2: #随机生成小写字母
        b=random.randint(97,122)
        b_chr=chr(b)
        list1.append(b_chr)
    elif s1==3:
        c=random.randint(0,9)
        list1.append(c)
print("形成后验证码: {}".format(list1[:]))
list1=[str(i) for i in list1] #统一为字符类型 方便用join
s=''.join(list1)
print(s)    

import random
list1=[]
for i in range(6):
    k=random.randint(1,3)
    if k==1:
        a=random.randint(65, 90)
        list1.append(chr(a))
    elif k==2:
        a=random.randint(97, 122)
        list1.append(chr(a))
    elif k==3:
        a=random.randint(0,9)
        list1.append(str(a))
list1=''.join(list1)
print(list1)

import math
def isprime(x):
    k=math.ceil(math.sqrt(x))
    for ele in range(2,k+1):
        if x%ele==0:
            return 1
    return 0
list1=[1,5,6,9,78,2,45,5,7,5]
list2=[]
for ele in list1:
    if isprime(ele)==0 :
        list2.append(ele)
print(list2)

import math
s=[9,7,8,3,2,1,55,6]
print(len(s))
print(max(s))
print(min(s))
print(sum(s))
print(round(sum(s)/len(s),2))

法一:
name=[] #使用两个列表分别存姓名和分数,再用zip组合
sc=[]
while 1:
    s1=input("请输入学生姓名:")
    name.append(s1)
    while 1:
        s2=int(input("请输入分数:"))
        if s2>=0 and s2<=150:
            sc.append(s2)
            break
        else:
            print("请重新输入分数。")     
    x=int(input("输入“0”退出录入,“1”继续录入。\n"))
    if x== 0:
        break
stud=dict(zip(name,sc))
print(stud)
法二:
stu={}
while 1:
    name=input("请输入姓名:")
    score=float(input("请输入分数:"))
    stu.update({name:score})
    k=int(input("退出输入1,继续录入输入0:"))
    if k==1:
        break
print(stu)


s1=[]
person={"张三":"男","李四":"女","王五":"男"}
for key,value in person.items():
    if value=='男':
        s1.append(key)
for ele in s1:
    del person[ele]
print(person)

stu={'1001':'zhong','2002':'li','1100':'yang'}
print(sorted(stu)) #默认对键排序,返回键
print(sorted(stu.values())) #对值进行排序,返回值
#结果包含键值对
stu=sorted(stu.items(),key=lambda x:x[0])
print(stu)

法一:(函数实现)
s1="asjhsdjkgavsdjasdbj"
d={}
for i in s1:  #键不会重复
    b=s1.count(i)
    d.update({i:b})
print(d)
法二:(更好一点)
s1="asjhsdjkgavsdjasdbj"
d={}
for i in s1:  #
    if i in d:
        d[i]+=1
    else:
        d[i]=1
print(d)

a=('set','list','tuple')
s=input('请输入一字符串:')
f=0
for i in a:
    if i in s:
        f=1
        break
if f==1:
    print("判断:字符串中包含python关键字。")
else:
    print("判断:字符串中不包含python关键字。")

#素数筛选法    (有一定难度)
import math
def isprime(n):
    num=set(range(2,n))
    m=int(math.sqrt(n))+1
    #最大数的平方根,以及小于该数字的所有素数
    list1=[p for p in range(2,m) 
           if 0 not in [p%d for d in range(2,int(p**0.5)+1)]]
    for i in list1:
         for j in range(2,n//i+1):
             num.discard(i*j)
    return num
print(isprime(1001))

实验4 (字符串+正则)

1.统计所输入字符串中单词的个数,单词之间用空格分隔。其运行效果
如下图所示。
请输入字符串: The qu1ck brown fox jumps over the lazy dog.
其中的单词总数有:9
2. 编写程序,给出一个字符串,将其中的字符“E”用空格替换后输出。
3. 从键盘交互式输人一个人的 18 位的身份证号,以类似于“2001 年 09
月 12 日”的形式输出该人的出生日期。
4.将字符串’abcdefg’使用函数的方式进行倒序输出
5. 在我们的生活中,节假日的问候是必不可少的,请使用字符串格式
化的方式写一个新年问候语模板.
6. 用户输入一个字符串,将下标为偶数的字符提出来合并成一个新的
字符串 A,再将下标为奇数的字符提出来合并成一个新的字符串 B,再
将字符串 A 和 B 连接起来并输出。
7. 请根据下列需求,编写一个程序。用户输入一个字符串,请将字符
串中的所有字母全部向后移动一位,最后一个字母放到字符开头,最
后将新的字符串输出。
8.基于 input 函数,对输入的字符串进行处理,并将返回替换了某些
字符的字符串,规则如下
 如果一个字母是大写辅音,请将该字符替换为“Iron”。
 如果字母是小写辅音或非字母字符,则对该字符不执行任何操作
 如果一个字母是大写元音,请将该字符替换为“Iron Yard”。
 如果一个字母是小写元音,请用“Yard”替换该字符。

  1. (选做)老王在一个"胖子健身俱乐部",每到月底老王就很担心,因
    为每个月都会公布一份成员体重列表,每个月他都是列表中的最后一
    个,这意味着他是最重的。于是他就建议会长修改规则,比如新的规
    则如下:
    新的排序规则将是按照“权重”来进行排序,如果权重相同,则按照体
    重字符串来进行排序。(权重的计算规则:体重数字不同位数上的数字
    的总和)
    给定某种正常顺序俱乐部的成员的体重字符串,如何实现按照新规则
    排序呢?测试用例:输入: "99 189 86 75"输出: “75 86 189 99”。
s="The qu1ck brown fox jumps over the lazy dog."
list1=s.split()
print(len(list1))

s="AAFHEELLKJE"
s=s.replace('E', ' ')
print(s)

s='321322200202999999'
print(f"{s[6:10]}{s[10:12]}{s[12:14]}日")

s='abcdefg'
l1=list(reversed(s))
print(''.join(l1))

#第五题略

s='123456789'
a=""
b=""
for ele in s[::2]:
    a+=ele
for ele in s[1::2]:
    b+=ele
print(a,b,a+b)

s="ngfgtyhjjhg"
s=s[-1]+s[:-1]
print(s)


import re
text=input("请输入字符串:")
for i in text:
    if i=='A' or i=='O' or i=='E' or i=='I' or i=='U': #大写元音
        a=re.sub('[AOEIU]','Iron Yard',text)
    if i == 'a' or i == 'o' or i == 'e' or i == 'i' or i == 'u':#小写元音
        a=re.sub('[aoeiu]','Yard',text)
    if i > 'A' and i < 'Z': #大写辅音
        a=re.sub('[A-Z-[AOEIU]]','Iron',text)
print("替换后的字符为:",a)

做的最好的一道题:胖子体重(当时试了好久)

s=input("请输入胖子们的体重:")
#1.由于每个数字是字符类型,用split分开
#2.统计每个数字位上的和 sum(int(c) for c in x)
#3.若和相等,则根据字符串升序排列,因此匿名函数两个标准
l1=sorted(s.split(" "),key=lambda x:(sum(int(c) for c in x),x[0]))
print(l1)

实验五

  1. 编写程序,利用元组作为函数的返回值,求序列类型中的最大值、最
    小 值 和 元 素 个 数 , 并 编 写 测 试 代 码 , 假 设 测 试 数 据 分 别 为
    s1=[9,7,8,3,2,1,55,6] 、 s2=[" apple",“pear” melon",“kiwi”] 和 s3="
    TheQuickBrownFox"。
  2. 设计一个函数,实现输入一个五位数的正整数(程序要对输入数据
    的合法性进行检查),对输入的数据加密后再返回,加密规则:每位数
    字都加上 7,然后用 10 取模,再将得到的结果交换顺序:第一位和第
    二位交换,第三位和第五位交换,第一位和第四位交换。
  3. 请编写一个程序,使用字典存储学生信息(自己编写至少十个学生
    的信息),学生信息包括学号和姓名,请根据学生学号从小到大输出
    学生的信息。
  4. 首先,使用标准库 random 生成一个包含 50 个介于 1~100 的随机整
    数的列表,编写函数 def isPrime(n)用来测试整数 n 是否为素数;接
    下来使用内置函数 filter(把函数 isPrime()作用到包含若干随机整
    数的列表 lst 上,最后程序输出一个列表,其中只包含列表 lst 中不是
    素数的那些整数。
  5. 编写程序,清分别使用递归和非递归方式实现。定义一个求阶乘的
    函数 fact(n),并编写测试代码,要求输入整数(n≥0)。运行效果如
    下图所示。
  6. 编写程序实现斐波那契数列,斐波那契数列:1、1、2、3、5、8、
    13、21、34、……在数学上,斐波那契数列以如下被以递推的方
    法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)。
  7. 阅读并适当增加必要的代码来调试下面的代码,分析代码功能,
    发现并解决代码中的错误。提示:此代码计算𝐶(n,i)

8.小球从 100m 的高度自由落下,每次落地后反弹回原高度的一半;再
落下,定义函数 cal 计算小球在第 n 次落地时,共经过多少米以及第
n 次反弹多高。定义全局变量 Sn和 Hn分别存储小球经过的路程和
第 n 次的高度。主函数输入 n 的值,并调用 cal 函数计算输出 Sn和 Hn的值。

def go(list1):
    maxn=max(list1)
    minn=min(list1)
    lg=len(list1)
    return maxn,minn,lg
s1=[9,7,8,3,2,1,55,6]
a,b,c=go(s1)
print(f"最大值={a},最小值={b},元素个数={c}")
s2=["apple","pear","melon","kiwi"]
a,b,c=go(s2)
print(f"最大值={a},最小值={b},元素个数={c}")
s3="TheQuickBrownFox"
a,b,c=go(s3)
print(f"最大值={a},最小值={b},元素个数={c}")

def go(n):
    l1=[]
    while n:
        l1.append((n%10+7)%10)
        n//=10
    l1[0],l1[1]=l1[1],l1[0]
    l1[2],l1[4]=l1[4],l1[2]
    l1[0],l1[3]=l1[3],l1[0]
    return l1
l1=go(12345)
l1=[str(x) for x in l1] #join的方法只用于字符串连接
print(''.join(l1))

id1=[5,2,3,4,1,6,7,8,9,10]
name1=['张','李','王','杨','钟','蒋'
       ,'宋','莫','巢','刘']
stud=dict(zip(id1,name1))
stud1=sorted(stud.items(),key=lambda x:x[0])
print(stud1)

import random
import math
def isprime(x):
    k=int(math.sqrt(x))+1
    for ele in range(2,k):
        if x%ele==0:
            return 1 #不是素数返回1
    return 0 #是则返回0
'''
l1=[]
for ele in range(50):
    l1.append(random.randint(1, 100))
print(l1)
更棒的实现方式'''
data=[random.randint(1,100) for ele in range(50)]
l1=list(filter(isprime, data))
print(l1)

def fact(n):
    s=n
    if n==1:
        return 1
    return s*fact(n-1)
a=fact(5)
print(a)

def fi(n):
    if n==1 or n==2:
        return 1
    return fi(n-1)+fi(n-2)
a=fi(9) #第几位数的值
print(a)

def cni(n,i):
    minNI=min(i,n-i)
    result = 1  
    for j in range (0,minNI):
        result=result*(n-j)/(minNI-j) #整除不对
    return result
a=cni(5,4)
print(a)

def go(n):
    global s,h
    s=0
    h=100
    for i in range(n):
        s+=h
        h/=2
go(10)
print(f"Total of road is {s} meter")
print(f"The heighth is {h} meter")
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值