Python Day04

1、位运算

#位运算:基于二进制的运算
#&、|、^、~、>>、<<
#字节1byte = 8bit
#位运算:
#&:两真则真,一假则假
#|:两假为真,一真为假
#^:相反为真,相同为假
#~:按位取反,包含符号位
'''
8&9  0000 1000
  &  0000 1001
---------------
     0000 0101

8|9  0000 1000
     0000 1001
---------------
     0000 1001

8^9  0000 1000
     0000 1001
---------------
     0000 0001

~2   0000 0010---->1111 1101---->1111 1100(反码符号位不变,其余位按位取反)---->1000 0011(原码)

8>>2 0000 1000
       00 001000     前面要补充两个0,后面要消去两个0
---> 0000 0010       右移:除以2的n次方(右移的位)

8<<2 0000 1000
   0000 1000         前面消去两个0,后面补充两个0
     0010 0000       左移:乘以2的n次方

'''


#为了解决负数运算问题------原码、反码、补码三个概念
#原码:数值标准的二进制位
#反码:符号位不变,其余为取反
#补码:反码+1
#正数不存在反码、补码,计算机底层的运算是基于补码
#负数----添加符号位,8位最前面的位作为符号位,0表示正号,1表示负号
'''
-3+4      原码          反码           补码
-3    1000 0011     1111 1100      1111 1101
4                                  0000 0100(原码)
------------------------------------------------
2                                  0000 0001
'''

2、三元运算符

#三元运算符:条件成立时的代码 if 判断 else 条件不成立时的代码

'''
程序结构:
   顺序结构
   选择结构
   循环结构
选择结构:
    关键词是:if
        if 表达式:
            代码块

        or

        if 表达式
            代码块
        else:
            代码块

索引:
    正向索引:下标从0开始
    负数索引:下标从-1开始

字符串的切片:
    sname[start:end:step]
    sname:要操作的序列名称。
    start:表示切片的开始位置(包含自身),如果不去指定的话,默认从0开始。
    end:表示切片的结束位置(不包含自身),如果不指定的话,默认是序列的长度。
    step:表示切片的补偿,如果省略,默认为1.
s[:]    切片切的是整个字符串
s[::-1] 字符串反转

'''
age = int(input('请输入你的年龄'))
if age >= 18:
    print('大人')
else:
    print("小屁孩")

3、简单的if语句

age = int(input('请输入你的年龄:'))
if age >= 18:
    print('你成年了,继续努力')
#print('你成年了')   如果没有缩进,上行代码则不会输出,直接跳过上行代码运行此行代码。代码格式很重要!!!

if age >=18 and age < 30:
    print('青春年华~')

4、if…………else

uname = input('请输入用户名:')
pwd = input('请输入密码:')

if uname == 'xxx' and pwd == '123456':
    print('登入成功')
else:
    print('用户名或者密码错误')

5、练习

'''
1、除以3余2,除以5余3,除以7余2,求出什么数字符合条件
2、判断用户输入的话是否为回文
'''
#1
'''
a = int(input("请输入一个数字:"))
for a in range(0, 100):
    if a % 3 == 2 and a % 5 == 3 and a % 7 == 2:
        print(f'数字{a}符合条件')
    else:
        print(f'数字{a}不符合条件')
'''

#2
'''
b = input('请输入一段话:')
if b[:] == b[::-1]:
    print('用户输入的是回文')
else:
    print('用户输入的不是回文')
'''

6、if...elif...else

g = int(input('请输入你的成绩:'))
if g < 60:
    print('loser')
elif g >= 60 and g < 80:
    print('可以')
elif g >=80 and g < 100:
    print('哟西')
else:
    print('非常的哟西')

7、if嵌套

a = int(input("请输入一个数字:"))
for a in range(0, 3000):
 '''
    if a % 3 == 2 and a % 5 == 3 and a % 7 == 2:
        print(f'数字{a}符合条件')
    else:
        print(f'数字{a}不符合条件')
 '''

 '''
 if a % 3 == 2:
     if a % 5 == 3:
         if a % 7 == 2:
            print(f'{a}满足')
         else:
            print(f'{a} a % 7 == 2不满足')
     else:
        print(f'{a} a % 5 == 3不满足')
 else:
    print(f'{a} a % 3 == 2不满足')
# 缩进格式很重要!!!!!!
 '''

 '''
 if a % 4 == 0:
      if a % 100 == 0:
           if a % 400 == 0:
                print(f'{a}是闰年')
           else:
                print(f"{a}不满足")
      else:
            print(f"{a}不满足")
 else:
     print(f'{a}不满足')
 '''

 8、list

list = [1,2,3,4,'nanhangjincheng',[7,8,9]]
# 列表的数组下标从0开始
print(list[1])
print(list[-1])
print(list[-1][1])

# len()
print(len(list))
#list列表里的数值可以改变    重新赋值
list[1] = 'nanhangjincheng'
print(list)

# 列表的加法和乘法
list_1 = [1,2,3]
list_2 = [4,5,6]
list_3 = list_1 + list_2
print(list_3)

list_4 = list_3 * 3
print(list_4)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值