zoukankan      html  css  js  c++  java
  • 作业-列表,字典操作实例

    '''
    练习一:编写名为collatz(number)的函数;实现的功能:参数为偶数时,打印number//
    2;参数为奇数时,打印3*number + 1
    '''
    def collatz(number):
    ##    if number%2==0:
    ##        print(number//2)
    ##    else:
    ##        print(3*number+1)
            rel=number//2 if number%2==0 else number*3+1
            print(rel)       
    
    ##number=int(input("请输入一个整数:"))
    ##collatz(number)
    
    '''
    练习二:使用for循环,对列表元素的类型进行更改
    '''
    
    s = '51 5000 10000'
    a,b,c = [int(i)  for i in s.split(" ")]     ## 使用空格进行分割
    print( a,b,c)
    #输出结果:51 5000 10000
    
    new=list()
    a=['1','2','3']
    for i in a:
        new.append(int(i))
    print(new)
    #输出结果:[1, 2, 3]
    new1=[int(i) for i in a]
    print(new1)
    #输出结果:[1, 2, 3]
    
    '''
    练习三: 找出1-10之间的所有偶数,并且返回一个列表(包含以这个偶数为半径的圆的面积)
    
            找出1-10之间的所有奇数,并且返回一个列表(转换奇数为字符串)
    '''
    import math
    list1=[math.pi*r*r for r in range(2,11,2)]
    list2=[str(i) for i in range(1,10,2)]
    print(list1)
    print(list2)
    
    '''
    练习四:找出1-100之间的所有质数(除了1和本身没有其他因数)
    解析: 首先定义一个判断质数的函数;返回0代表不是素数,返回1代表时素数
    '''
    #方法一:
    i=j=2   
    for i in range(2,100): # 取i从2开始,2 最小的质数
        for j in range(2,i):  #j在i的范围内取,range区间取不到i,看i是否有其他因数
            if (i%j==0):
                break
        else:
             print(i,end='')
             
    #方法二:
    num=[];
    i=2
    for i in range(2,100):
       j=2
       for j in range(2,i):
          if (i%j==0):
             break
       else:
          num.append(i)
    print(num)
    
    #方法三:
    def isprime(num):
        for i in range(2,num):
            if num%i==0:
                return 0
        else:
            return 1
    li=[]
    for x in range(2,101):
        if isprime(x):
            li.append(x)
    print(li)
    
    '''
    练习一: 假设有20个学生,成绩在60-100之间,筛选出成绩在90分以上的学生
    
    解析: 随机生成60-100之间的学生和成绩;然后在生成的字典中选择输出
    '''
    import random
    #方法一:
    stuInfo={ }
    for i in range(20):
        name='stu'+str(i)
        score=random.randint(60,100)
        stuInfo[name]=score
    print("所有人的成绩为:
    ",stuInfo)
    
    highscore={}
    for name,score in stuInfo.items():
        if score > 90:
            highscore[name]=score
    print("90分以上的成绩为:
    ",highscore)
    
    #方法二:
    stuInfo = {'student' + str(i):random.randint(60,100) for i in range(20)} 
    print("所有人的成绩为:
    ",stuInfo)
    print("90分以上的成绩为:
    ",{name:score for  name,score in stuInfo.items()  if score > 90} )
    
    '''
    练习二: 将字典中的key值和value值调换
    '''
    dic1= {'a':1,'b':2,'c':3}
    dic2={ b:a for a,b in dic1.items()}
    print(dic2)
    print({ b:a.upper() for a,b in dic1.items()})
    #输出结果为:{1: 'a', 2: 'b', 3: 'c'}   {1: 'A', 2: 'B', 3: 'C'}
    
    '''
    练习三:大小写合并,Key值最终全部为小写
    '''
    d = {'a':1,'b':2,'c':3,'A':5}
    print( {k.lower():d.get(k.upper(),0)+d.get(k.lower(),0) for k,v in d.items()} )
  • 相关阅读:
    磁盘映射命令
    CentOS 配置XWIN/VNC
    生成一个随机数,让用户输入猜这个数字,有三次机会
    自己练习读取写入txt
    python学习笔记:文件操作和集合(转)
    接口测试基础
    nginx_tomcat负载均衡环境
    mysql索引
    shell脚本
    linux基础知识(四)
  • 原文地址:https://www.cnblogs.com/huigebj/p/11440013.html
Copyright © 2011-2022 走看看