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()} )
  • 相关阅读:
    三数之和
    罗马数字与整数
    Oracle 开启或关闭归档
    Oracle RMAN scripts to delete archivelog
    Oracle check TBS usage
    Oracle kill locked sessions
    场景9 深入RAC运行原理
    场景7 Data Guard
    场景4 Data Warehouse Management 数据仓库
    场景5 Performance Management
  • 原文地址:https://www.cnblogs.com/huigebj/p/11440013.html
Copyright © 2011-2022 走看看