zoukankan      html  css  js  c++  java
  • Python-复习-习题-13

    复习

    dict: dic = {'name':'alex'}
    增:dic['age'] = 21 存在就覆盖
    dic.setdefault() 存在什么也不做,没有就增加

    删除:pop()按照key删除,有返回值
    clear
    del dic['name']
    popitem()随机删除 返回的是元祖

    改 update #覆盖添加


    dic.keys()
    dic.values()
    dic.items()

    for k,v in dic.items():
    print(k,v)

    dic.get(key,None) #没有值返回后面的参数none

    习题

    
    
    '''
    3、元素分类
        有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
    即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}
    
    
    '''
    li= [11,22,33,44,55,66,77,88,99,90]
    dic ={}
    l_greater=[] #大于66的所有值列表
    l_less=[]    #小于66的所有值列表
    for i in li:
        if i == 66:continue
        if i > 66 :
            l_greater.append(i)
        else :
            l_less.append(i)
    dic.setdefault('k1',l_greater) 
    dic.setdefault('k2',l_less)
    print(dic)  
    
    # 输出:{'k1': [77, 88, 99, 90], 'k2': [11, 22, 33, 44, 55]}


    ''' 4、输出商品列表,用户输入序号,显示用户选中的商品 商品 li = ["手机", "电脑", '鼠标垫', '游艇'] 要求:1:页面显示 序号 + 商品名称,如: 1 手机 2 电脑 … 2: 用户输入选择的商品序号,然后打印商品名称 3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。 4:用户输入Q或者q,退出程序。 ''' flag = True while flag: li = ["手机", "电脑", "鼠标垫", "游艇"] for i in li: print('{} {}'.format(li.index(i)+1,i)) num_of_chioce = input('请输入选择的商品序号/输入Q或者q退出程序:') if num_of_chioce.isdigit(): num_of_chioce = int(num_of_chioce) if num_of_chioce > 0 and num_of_chioce <= len(li): print(li[num_of_chioce-1]) else:print('请输入有效数字') elif num_of_chioce.upper() == 'Q':break else:print('请输入数字')

    index()

      函数用于从列表中找出某个值第一个匹配项的索引位置。

    语法

    index()方法语法:

    list.index(obj)

    参数

    • obj -- 查找的对象。

    返回值

    该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。

    实例

    以下实例展示了 index()函数的使用方法:
    
    #!/usr/bin/python3
    
    list1 = ['Google', 'Runoob', 'Taobao']
    print ('Runoob 索引值为', list1.index('Runoob'))
    print ('Taobao 索引值为', list1.index('Taobao'))
    以上实例输出结果如下:
    
    Runoob 索引值为 1
    Taobao 索引值为 2

    描述

    index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

    语法

    index()方法语法:

    str.index(str, beg=0, end=len(string))

    参数

    • str -- 指定检索的字符串
    • beg -- 开始索引,默认为0。
    • end -- 结束索引,默认为字符串的长度。

    返回值

    如果包含子字符串返回开始的索引值,否则抛出异常。

    实例

    以下实例展示了index()方法的实例:
    
    #!/usr/bin/python3
    
    str1 = "Runoob example....wow!!!"
    str2 = "exam";
    
    print (str1.index(str2))
    print (str1.index(str2, 5))
    print (str1.index(str2, 10))
    以上实例输出结果如下(未发现的会出现异常信息):
    
    7
    7
    Traceback (most recent call last):
      File "test.py", line 8, in <module>
        print (str1.index(str2, 10))
    ValueError: substring not found

    Python3 字符串格式化

    字符串的格式化方法分为两种,分别为占位符(%)和format方式。占位符方式在Python2.x中用的比较广泛,随着Python3.x的使用越来越广,format方式使用的更加广泛。

    一 占位符(%)

     

    %d

    实例(Python3.0+):

    age = 29
    print("my age is %d" %age)
    #my age is 29

    %s

    实例(Python3.0+):

    name = "makes"
    print("my name is %s" %name)
    #my name is makes

    %f

    实例(Python3.0+):

    print("%6.3f" % 2.3)
    #2.300
    print("%f" %2.3)
    #2.300000

    二 format方法

    位置映射

    实例(Python3.0+):

    print("{}:{}".format('192.168.0.100',8888))
    #192.168.0.100:8888

    关键字映射

    实例(Python3.0+):

    print("{server}{1}:{0}".format(8888,'192.168.1.100',server='Web Server Info :'))
    #Web Server Info :192.168.1.100:8888  

    元素访问

    实例(Python3.0+):

    print("{0[0]}.{0[1]}".format(('baidu','com')))
    #baidu.com 

    填充对齐

    1. ^、<、>分别是居中、左对齐、右对齐

    实例1(Python3.0+):

    print("{0}*{1}={2:0>2}".format(3,2,2*3))
    #3*2=06
     
    print("{:*^30}".format('centered'))
    #***********centered*********** 

    实例2(Python3.0+):九九乘法表

    for i in range(1,10):
        a = 1
        while a <= i:
            print("{0}*{1}={2:0>2}".format(a,i,a*i),end="	")
            a +=1
        print()
         
    """
    1*1=01 
    1*2=02  2*2=04 
    1*3=03  2*3=06  3*3=09 
    1*4=04  2*4=08  3*4=12  4*4=16 
    1*5=05  2*5=10  3*5=15  4*5=20  5*5=25 
    1*6=06  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36 
    1*7=07  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49 
    1*8=08  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64 
    1*9=09  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81 
    """

    精度设置

    实例(Python3.0+):

    print("{:.3f}".format(2.1415))
    #2.142
    print("{:.10f}".format(3.1415))
    #3.1415000000
  • 相关阅读:
    一些特殊的矩阵快速幂 hdu5950 hdu3369 hdu 3483
    HDU
    UVA-796 Critical Links 找桥
    HDU 4612 Warm up
    2017 ICPC乌鲁木齐 A Coins 概率dp
    HDU6223 Infinite Fraction Path bfs+剪枝
    Java基础知识学习(一)
    算法(一)
    面试题整理:SQL(二)
    面试题整理:SQL(一)
  • 原文地址:https://www.cnblogs.com/LXL616/p/10633952.html
Copyright © 2011-2022 走看看