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('{}\t\t{}'.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="\t")
        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
posted @ 2019-03-31 23:16  LXL_1  阅读(353)  评论(0编辑  收藏  举报