Python基础②

一、if语句

tianqi = ‘xiayu’

  if tianqi != ‘xiayu’:

      print(‘逛街’)

  else:

      print(‘在家学习’)

!= 代表不等于的意思

== 两个等于号才用来表示相等的意思

if  关键字,判断语句,有‘如果’的意思,后面跟上判断语句

else  常和if’连用,有‘否则’的意思,后面直接跟上冒号‘:’

 

tianqi = ‘xiayu’                weather = ‘rain’

if tianqi != ‘xiayu’:             if weather == ‘rain’:

  print(‘逛街’)                 print(‘在家学习’)

else:                        else:

  print(‘在家学习’)             print(‘逛街’)

优化的原则:1.逻辑更加简单,比如少用否定,多用肯定

2.用英文代替拼音,减少歧义

 

二、多种选择

Weather = ‘overcast’    #阴天            weather = ‘overcast’

If weather = ‘rain’:                       If weather = ‘rain’:

print(‘在家学习’)                        print(‘在家学习’)

If weather == ‘overcast’:    〓〓》        elif weather == ‘overcast’:

print(‘去钓鱼’)                          print(‘去钓鱼’)

If weather == ‘sunny’:                    else:

print(‘逛街’)                            print(‘逛街’)

多种选择时,可以使用elif,保证在一个判断当中,否则会要做很多次判断,增加程序运行时间

 

三、三目运算

a = 6

if a > 5:

  print(True)       ≡≡》        print(True if a > 5 else False)

else:                                  ↑   ↑       ↑

  print(False)              为真时返回的值   判断式   为假时返回的值

后面这种同样也是判断,但是要简洁很相当多,这样可以节省很多的代码,让代码看起来更加简洁

注意:只有简单if判断可以使用,过于复杂判断就不要使用了,那样会影响代码的可读性

 

四、逻辑运算

>        <        >=        <=        ==       !=

大于     小于    大于等于   小于等于   等于    不等于

这里比较运算符的返回结果都是bool型,在实际使用中,会经常用到它们,或者它们的组合

①与逻辑

a = 6                      左边     右边     结果

if a > 3 and a < 9:              1        1        1

   print(‘ok’)                 0        1        0

else:                        1        0        0

   print(‘no’)                 0        0        0

and 表示‘并且’或者‘和’的意思,只有当and两边都是为真的时候,才会返回真,在其他语言中常用&来表示and

②或逻辑

a = 11                      左边     右边     结果

if a > 8 or a < 2:               1        1        1

   print(‘ok’)                 0        1        1

else:                        1        0        1

   print(‘no’)                 0        0        0

or 表示‘或者’的意思,只要两边存在真,就会返回真,都是假才会返回假,在其他语言中常用|来表示or

③非逻辑

a = False                    右边       结果

if not a:                      1          0

print(‘ok’)                  0          1

else:

print(‘no’)

not 表示‘取反’的意思,也就是真的会变成假的,假的会变成真的,在其他语言中常用!来表示not

 

五、逻辑短路

>>>a = 3

>>>a > 2 and b > 1

Traceback (most recent call last):

File <pyshell#1>, line 1, in <module>

a > 2 and b > 1

NameError: name b is not defined

逻辑运算过程中,如果已经能够得到最后的值,则不会再进行后面的判断。这个称为逻辑短路

>>>a > 4 and b > 1

False

在这个列子中,因为前面为False,那么结果肯定为False,所以后面的判断就不会再运行,直接返回False

 

>>>a = 5

>>>a < 5 or b > 1

Traceback (most recent call last):

File <pyshell#4>, line 1, in <module>

a < 5 or b > 1

NameError: name b is not defined

or 也存在逻辑短路,只要前面确定为True, 则后面就不会再进行判断

>>>a == 5 or b > 1

True

 

>>>’1’>’2’>3

False

python底层会把连续判断转化为and连接的形式

>>>’1’ > ’2’ and ‘2’ > 3

False

当需要同时判断多个内容的时候,可以使用与、或、非等逻辑来同时判断多个条件

 

六、while循环

a = 1

while a < 5:

  print(a)

  a += 1

while 的使用和if 类似,判定为真的时候则运行缩进里面的代码,判断式为假时则停止循环

使用while 循环要注意: 循环一定能够停止 注意判断式是否能够为假

a = 1                 a        a<5           代码

while a < 5:           1        True          print(a); a+=1

  print(a)             2        True          print(a); a+=1

  a += 1              3        True          print(a); a+=1

                     4        True          print(a); a+=1

                     5        False          /

整个循环的过程就如同上表一样,一次执行,直到循环结束

a = 1

while a < 5:                             1

print(a)                               2

a += 1            ≡≡》              3

else:                                   4

  print(‘循环结束’)                     循环结束

while 循环后面也可以接上else循环,当循环正常结束时,就会执行else内的代码

a = 1

while True:

  if a % 5 == 0:                          1

Break                              2

  print(a)           ≡≡》              3

  a += 1                                4

else:

  print(‘循环结束’)

while 后面也可以直接跟上True,但是内部就必须要使用break来终止循环

使用break终止的循环,是不会执行else的内容

 

七、作业

①利用while写出九九乘法表

②利用randomrandint方法写一个猜数字的小游戏

 

解:

h = 1                                       import random

while h<=9:                                    num = random.randint(1,100)

      s = 1                                      i = 1

      while s<=h:                                while i <= 10:

          print(f'{s}*{h}={h*s}', end='\t')                s = int(input('请输入您猜的数值1-100之间:'))

          s += 1                                    if s<num:

      print()                                           print('您猜的数太小啦,再大一点')

      h += 1                                        elif s>num:

                                                      print('您猜的数太大啦,再小一点')

                                                   else:

                                                      print('恭喜你猜对了')

                                                      break

                                                   i += 1

                                                else:

                                                   print('很遗憾,10次机会用完了')

posted @ 2020-08-21 11:02  辣笔小新  阅读(71)  评论(0)    收藏  举报