2020.06.04--预习课--第4节--基本语法、多循环

一、与或非

1、空为False,非空为True;0为False,其他为True

>>> True
True
>>> False
False
>>> 2>1
True
>>> 1>2
False
>>> 
>>> bool(1)
True
>>> bool(0)
False
>>> bool()
False
>>> bool('')
False
>>> bool([])
False
>>> bool(-1)
True
>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>
>>>
>>> bool(None)
False

2、and:与,两个条件都是True,那么结果才是True

2>1 and 3>1 --->True
True and True ----》True
True and False ----》False
False and True ----》False
False and False ----》False

 

>>> 2>1 and 3>1
True
>>> 2>1 and 3>4
False
>>> 2>3 and 3>1
False
>>> 2>3 and 3>4
False

 

3、or:或,多个条件,只要一个是True,那么整个一组or都是True

True or True--->True
True or False--->True
False or True--->True
False or False--->False
>>> 2>1 or 3>1
True
>>> 2>1 or 1>2
True
>>> 1>2 or 2>1
True
>>> 1>2 or 1>3
False
>>> 2>1 or 0 or [] or {}
True

 

 

 

 

 

 4、非

 

>>> 2!=1
True
>>> not True
False
>>> not False
True
>>> 1==1
True
>>> not 0
True
>>> not 1
False
>>> not None
True

 

 

二、进制

1、十进制转为二进制

>>> bin(1)
'0b1'
>>> bin(2)
'0b10'
>>> bin(3)
'0b11'
>>> bin(4)
'0b100'
>>> bin(5)
'0b101'
>>> bin(6)
'0b110'
>>> bin(600)
'0b1001011000'
>>> 

 

2、二进制转为十进制

>>> int('1001011000',base=2)
600
>>> int('10',base=2)
2
>>> int('100',base=2)
4
>>> int('1001',base=2)
9
>>> 

3、十进制转八进制

>>> oct(8)
'0o10'
>>> oct(7)
'0o7'
>>> oct(9)
'0o11'
>>> oct(10)
'0o12'
>>> 

 

4、八进制转十进制

>>> int('107',base=8)
71
>>> int('177',base=8)
127
>>> int('10',base=8)
8
>>> 

 

5、十进制转十六进制

>>> hex(10)
'0xa'
>>> hex(11)
'0xb'
>>> hex(12)
'0xc'
>>> hex(13)
'0xd'
>>> hex(14)
'0xe'
>>> hex(15)
'0xf'
>>> hex(16)
'0x10'
>>> hex(17)
'0x11'
>>> 

 

6、十六进制转十进制

>>> int('f',base=16)
15
>>> int('a',base=16)
10
>>> int('b',base=16)
11
>>> int('c',base=16)
12
>>> int('d',base=16)
13
>>> int('e',base=16)
14
>>> 

三、序列

序列:

  可以基于坐标去访问的数据结构

  字典、集合、数字不可以基于坐标

 

 

四、练习

题目1:读入一个字符串,如果数字的个数>2 且字母个数大于3,打印条件成立,否则打印不成立

1 使用input函数读入内容,存到一个变量里面
2 声明2个变量存数字的个数(num_count)
      和字母的个数(letter_count),并都初始化为0
3 遍历这个变量里面的字符串,使用if 判断是否是数字
       如果是就num_count+1,使用if 判断是否是字母,如果是
       letter_count+1
       如何判断是数字?  i in "0123456789"
 如何判断是字母?  (i>="a" and i<="z") or (i>="A" and i<="Z")
4 最后再用if判断num_count大于2 and letter_count大于3
5 if 打印"满足条件" else:打印不满足条件
算法

 

msg = input("请输入>>:")
num_count = 0
letter_count = 0
for i in msg:
    if i.isdigit():
        num_count += 1
    if i.isalpha():
        letter_count += 1
if num_count > 2 and letter_count > 3:
    print("条件成立")
else:
    print("条件不成立")
方法一:
msg = input("请输入>>:")
num_count = 0
letter_count = 0
for i in msg:
    if i in '0123456789':
        num_count += 1
    if ((i >= 'a') and i <= 'z') or (i >= 'A' and (i <= 'A')):
        letter_count += 1
if num_count > 2 and letter_count > 3:
    print("条件成立")
else:
    print("条件不成立")
方法二:

 

content=input("请输入一个字符串:")
num_count=0
letter_count=0
for i in content:
    if i in "0123456789":
        num_count+=1
        continue
    if (i>="a" and i<="z") or (i>="A" and i<="Z"):
        letter_count+=1

if num_count>2 and letter_count>3:
    print("满足条件")
else:
    print("不满足条件")
方法三:

 

posted @ 2020-06-04 00:43  梦风灵舞  阅读(119)  评论(0编辑  收藏  举报