学习python(三)

布尔值

布尔值其实很简单就是False和True.但是围绕布尔值的知识还是挺零碎的.
首先有比较操作符
<,>,<=,>=,==,!=.这些操作符的运算结果通常是True和False:

>>>1 > 2
>>>False
>>>3 > 2
>>>True
>>>5 >= 5
>>>True
>>>5 <= 4
>>>False
>>>2 != 2
>>>False

当然,字符串也是可以使用比较操作符的,但是字符串只能使用==和!=:

>>> 'hello' == 'Hello'
>>>False
>>>'dog' != 'cat'
>>>True

布尔值之间也可以有操作.
and

>>>True and True
>>>True
>>>True and False
>>>False
>>>False and False
>>>False

or

>>>True or True
>>>True
>>>True or False
>>>True
>>>False or False
>>>False

not

>>>not True
>>>False
>>>not False
>>>True
>>>not not not not not True
>>>False

表达式之间也是可以进行and,or,not操作的:

>>> (4 > 5) and (6 < 7)
False
>>> (5 + 5 == 10) or (6 + 7 != 13)
True
>>>not(2 * 5 == 10)
>>>False

首先4>5是False,6<7是True,False and True很明显等于False,后面的两个式子也是使用相同的方法计算的.

条件语句

条件语句是一种简单常用的的逻辑.假如我需要知道一个数字的值是多少那么就可以这样判断:
伪代码:

键入一个数字num:
如果num等于3
    打印该数字是3
如果num等于6
    打印该数字是6
如果num等于9
    打印该数字是9
如果num等于10
    打印该数字是10
如果是其他的数字
    打印我不知道这是什么

python代码实现:

num = int(input('please input number:'))
if num == 3:
    print('number is',num)
elif num == 6:
    print('number is:',num)
elif num == 9:
    print('number is:',num)
elif num == 10:
    print('number is:',num)
else:
    print('I dont know')

样例输出:

please input number:6
number is 6

要注意,如果是判断数字的话,使用input()函数不管输入的是什么它会自动保存为字符型,那么在判断时不做处理的话,不管输入什么都会打印‘I dont know’,所以需要将input()函数前加上int()函数将字符串转换成整型再做下一步运算,我记得上一篇博客中关于这个问题有详细的叙述.

循环

循环是非常重要的一种操作,python的循环写法很简单也很容易看懂代码在干嘛,但是在实际的工程中也有复杂的用法,不过复杂的东西也都是建立在简单东西的基础上的,其中的原理大相径庭,在这只举几个简单的例子来叙述循环的基本原理.
while循环:

num = 20
count = 0
while(num != 0):
    num = num - 1
    count = count + 1
    print('this is',count,'times')
print('game over!')

输出:

this is 1 times
this is 2 times
this is 3 times
this is 4 times
this is 5 times
this is 6 times
this is 7 times
this is 8 times
this is 9 times
this is 10 times
this is 11 times
this is 12 times
this is 13 times
this is 14 times
this is 15 times
this is 16 times
this is 17 times
this is 18 times
this is 19 times
this is 20 times
game over!

可以看到规定num在不等于0的时候就执行循环内部的语句,等于0时跳出循环.在num递减了20次等于0后跳出了循环执行了结束语句game over!

for循环:
我个人更常用for循环,但是for和while也有不同的使用范围,虽然很多问题都是可以互换的,但是某些问题却只能使用这两个循环的其中之一才能解决,具体什么问题我现在也想不起来了,今后遇到了再标记吧.

for i in range(0,20):
    print(i)

输出:

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

range()中的0–20指定了数字的范围,i通过自增每次索引所对应的0–20之间的值,直到索引完这20个数.
range()中可不止两个参数:

for i in range(0,20,2):
    print(i)

输出:

0
2
4
6
8
10
12
14
16
18

最后的这个2表示索引的步长,也就是每隔多少个数索引一次,不写的话系统会默认步长为1.还有一点要说的就是,python很多函数都可以指定取值范围,大部分的取值都是左闭右开的,如range(0,20)用数学语言来描述就是[0.20),这也就能解释上面的取值为什么只能打印到18打印不到20了.
for循环很强大,不仅可以依次索引数字也可以对字符进行操作:

list = ['i','am','iron','man']
for i in list:
    print(i)

输出:

i
am
iron
man

可以看到列表中的元素也是可以被索引的.通过各个元素的下标就可以知道该元素是什么.当然循环在实际运用中可没有这么简单,但是基本原理差不多就是这些.
最后就是break和continue了,这两个语句的用法可以用一句话概括:
当程序执行循环遇到continue时,程序会立马跳到循环开始进入下一次循环.
当程序执行循环遇到break时,程序会立马跳出整个循环.

条件和循环的问题还有很多和后面的诸多问题都息息相关,之后什么地方遇到了再就具体的问题再来讨论.

本文内容主要参考《Python编程快速上手—让繁琐工作自动化》第二章内容,如果有什么错误的地方欢迎指正.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值