Python介绍(6)

1.15变量类型—字典类型(二)

需要生成一个字典: 有5个学生,初始默认给每个学生发10元钱,用字典表示

In [159]: students = ['wang','li','sun','zhao','qian']

#生成字典非常便捷的函数 fromkeys ,给定序列的对象(students),给定一个初始化的值10

In [160]: dict.fromkeys(students,10)

Out[160]: {'li': 10, 'qian': 10, 'sun': 10, 'wang': 10, 'zhao': 10}

 

访问字典中的值

In [161]: money = dict.fromkeys(students,10)

In [162]: money['wang']

Out[162]: 10

In [164]: money.get('wang')

Out[164]: 10

#访问不存在的会报错

In [163]: money['cc']

---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

<ipython-input-163-6a9ddc568e7e> in <module>()

----> 1 money['cc']

KeyError: 'cc'

# money.get函数, 访问不存在的会返回None(空)

In [165]: a = money.get('cc')

In [166]:

print(a)

None

#get的好处,找不到,可以给定一个值

In [167]:

a = money.get('cc','100')

In [168]:

print(a)

100

 

前面两个列表可以生成一个字典,也可以通过字典生成两个列表:

#返回关键姓氏

In [169]: money.keys()

Out[169]: dict_keys(['wang', 'li', 'sun', 'zhao', 'qian'])

#返回对应的值

In [170]: money.values()

Out[170]: dict_values([10, 10, 10, 10, 10])

#返回每一个一 一对应的值,(拉锁函数拉起来的值)

In [171]: money.items()

Out[171]: dict_items([('wang', 10), ('li', 10), ('sun', 10), ('zhao', 10), ('qian', 10)])

 

#删除字典中元素(删除一次后就没有了,再删除一次,会提示出错)

In [172]: money.pop('wang')

Out[172]: 10

In [173]: money

Out[173]:{'li': 10, 'qian': 10, 'sun': 10, 'zhao': 10}

#增加字典中元素  (wang删掉了,再增加回来)

In [174]: money['wong'] = 100

In [175]: money

Out[175]: {'li': 10, 'qian': 10, 'sun': 10, 'wong': 100, 'zhao': 10}

In [176]: money['ni hao'] = 100

In [177]: money

Out[177]: {'li': 10, 'ni hao': 100, 'qian': 10, 'sun': 10, 'wong': 100, 'zhao': 10}

 

#setdefault 给 li 赋值,前面li如果存在,返回它存在的值,不存在,返回赋给它的值

In [178]:money.setdefault('li',10000)

Out[178]:10

In [179]: money.setdefault('haha',1000000)

Out[179]: 1000000

In [180]: money

Out[180]:

{'haha': 1000000,

'li': 10,

'ni hao': 100,

'qian': 10,

'sun': 10,

'wong': 100,

'zhao': 10}

2.1条件判断 (一)

第二节内容:

1.条件判断

2.循环

3.函数(重点)

4.类

 

#条件判断

#条件判断的伪代码(可以近似的写法表达代码的意思和逻辑,不可以正真运行, 运行会报错)

In [51]:

if condition:

do somthing

else:

do somthing

#如果 怎样 就怎样,否则怎样

File "<ipython-input-51-68eb56769616>", line 4

do somthing

^

SyntaxError: invalid syntax

应用题:购买水果,合计金额为32.5元,水果店搞活动,满30元打九折,求实际花费?

#首先定义一个变量——total_cost = 32.5

In [52]: total_cost = 32.5

​if total_cost > 30:

discount = 0.9

else:

discount = 1

total_cost *= discount

print('实际花费为:{}元'.format(total_cost))

实际花费为:29.25元

format 翻译:格式 ; format增强的格式化字符串函数 作用:优化函数的输出

 

In [50]: total_cost = 32.5

if total_cost > 30:

discount = 0.9

else:

discount = 1

total_cost *= discount

print('实际花费为:{}元')

实际花费为:{}元

应用题(稍复杂):购买水果,消费超过30元打九折,超过50元打八折,求实际花费?

#相比上面的应用题,条件多了一个判断

In [20]: total_cost = 32.5

​if total_cost > 50:

discount = 0.8

elif total_cost > 30:    #elif 后面不跟冒号

discount = 0.9

else:                   #else 后面必须有冒号

discountt = 1

total_cost *= discount

print('实际花费为:{}元'.format(total_cost))

实际花费为:29.25元

总结条件判断:

1.条件判断可以任意组合

a.elif可以有0到任意多个,lese可有可无;

b.条件判断可以进行嵌套

2.着重来看: condition (condition 翻译:条件)

#条件判断嵌套:

In [21]: total_cost = 32.5

is_vip = True

​if total_cost > 50:

if is_vip:

discount = 0.8   #不能在if的正下方,要和if是措开的

else:

discount = 1     #不能在else的正下方,要和else是措开的

elif total_cost > 30:

discount = 0.9

else:

discount = 1

total_cost *= discount

print('实际花费为:{}元'.format(total_cost))

实际花费为:29.25元

 

#bool函数是一个类型,是一个类

In [22]: type(bool)

Out[22]: type

#空字符串,空字典,空列表通过bool类型,可以进行转换   (但是在写代码时不用其进行显示的转换)

In [23]: bool(''),bool({}),bool([])

Out[23]: (False, False, False)

#字符串等可用来当做条件判断

In [24]:

condition = ''

if condition:

print('Ture')

else:

print('False')

False

In [25]:

condition = []

if condition:

print('Ture')

else:

print('False')

False

In [26]:

condition = {}

if condition:

print('Ture')

else:

print('False')

False

 

#有字符返回Ture

In [27]:

condition = 'zzqqzz'

if condition:

print('Ture')

else:

print('False')

Ture

一个值被当做bool值,概念上像是有与没有的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Demoatnes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值