python第五天-if语句与三目运算符

本文深入探讨了Python中的二进制、八进制和十六进制转换,详细阐述了位运算的用途及其各类操作,包括与、或、取反、左移和右移。此外,还介绍了如何通过if语句实现三目运算符的功能,并提供了多个练习帮助巩固理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文主要介绍python 中的二进制,八进制,十六进制转换,以及位运算


提示:以下是本篇文章正文内容,下面案例可供参考

一、二进制,八进制,十六进制的转换?

在这里插入图片描述

在这里插入图片描述

注意:0xd 表示:使用二进制: 0xo 表示使用八进制: 0xx 表示的是十六进制.
计算机一般使用的是补码
使用的函数
十进制: int()
二进制:bin()
八进制:oct()
十六进制:hex()

二、python的位运算

1.位运算的用处

位运算符通常在图形、图像处理和创建设备驱动等底层开发中使用。使用位运算符可以直接操作数值的原始 bit 位,尤其是在使用自定义的协议进行通信时,使用位运算符对原始数据进行编码和解码也非常有效。

2.位运算的种类

2.1 & 与运算
2.2 | 或运算
2.3 ~ 取反
2.4 <<左移
2.5 >>右移

在这里插入图片描述


# 位运算

# 二进制: 0 1
'''

       1  1

 8  4  2  1  


'''
a =3

print(bin(a))   # 0b 11 

a=13

print(bin(a))

b = 0b10111   # 0b  二进制   二进制的表示: 0b1000101

print(int(b))

c=-8  #  -0b1000       0000  1000

print(bin(c)) 


c= 0o6430   # 0o 开头的都是八进制   里面的数字不能超过8

print(int(c))

# 开头表示0x  0-9 a-f 
# 应用: FFFFFF   000000  FF0000   00FF00

d=0x9ab16

print(int(d))

'''
& 
|
~
^
<<
>>

'''

print(3 & 2)
'''
 类似and
 1 True  0  False
  0000 0011
& 0000 0010
------------
  0000 0010

 |  类似or
 
  1 True  0  False


'''

print(5 | 3)
'''
   0000 0101
 | 0000 0011
 --------------
   0000 0111
'''

print(~5)  # 取反  将十进制的数字对应的二进制进行取反操作。     

'''
 0000 0101
取反:
 1111 1010

 -6

 1111 1010  减1

 1111 1001  取反

 0000 0110  6


 看第一位(第一位是符号位,只要第一位是1的就是负数,第一位是0的就是整数)

-6:
 0000 0110  

 1111 1001  反码

 1111 1010  补码

'''




# 异或  ^   相同的是0  不同的是1

print(3^5)    
'''
# 步骤:
1. 左边的数字转成二进制
2. 右侧的数字转成二进制
3. 对齐,上下进行比较(相同的是0  不同的是1)
4. 将计算的结果转成十进制

3    0000 0011
5    0000 0101
----------------
     0000 0110     -----> 6

'''



# 左移:

print(2<<1)  # 4

print(2>>1)  # 1


'''
2的二进制:

0000  0010 
左移: m<<n  m*2的n次方
右移:  m>>n  m//2的n次方
'''


print(16<<2)

print(16>>2)

print(-0b1000000)

print(64<<1)



## 2.读入数据

<font color=#999AAA >代码如下(示例):



```c
data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


左移:
在这里插入图片描述
右移:
在这里插入图片描述

三 三目运算符

Python 可通过 if 语句来实现三目运算符的功能,因此可以近似地把这种if语句当成三目运算符。作为三目运算符的 if 语句的语法格式如下:
True_statements if expression else False_statements
三目运算符的规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True_statements 的值;如果逻辑表达式返回 False,则执行并返回 False_statements 的值。

# 三目运算符

# 格式:表达式 ? 真 : 假
# result = (8>10)?'真':'假'
# print(result)

# python的格式: 结果  if 表达式 else 结果
a=6
b=5
result = (a+b) if a<b else (b-a)
'''
 判断表达式是True还是False
 如果是True则 将if前面的内容进行运算,并将结果赋值成result
 如果是False则将else后面的内容运算结果,并将结果赋值成result

'''
print(result)


# 运算符的优先级:


'''
   排序:
    **
    ~
    + -  (符号运算符)
    * / // %
    + - 加减
    <<  >>
    &
    ^
    |
    == != >  >=  <  <=
    is  is not
    not
    and
    or
'''

四 流程控制语句-if语句

if 语句的形式:

第一种形式:
if expression:
statements…
第二种形式:
if expression
statements…
else:
statements…
第三种形式:
if expression:
statements…
elif expression:
statements…
…//可以有零条或多条elif语句
else:
statement…

练习一

  
if 条件:
   条件成立执行的语句

'''

username='admin'  # 没有登录
# password=''
# python: 判断的变量是''  0  None 默认是False
# python: 如果变量有值'abc','kkkk','yueryu',认为是True   

if username:  # 'admin'!=''  True   如果条件运算结果是True则进入内层
	print('嘿嘿!我登录啦!')

print('-------------')


num =9 

if num:
	print('------>',num)



'''
if num:
	print('.....')

等效:

if num!=0:
	print('.....')

'''

'''
练习:
如果年龄大于18  并且  输入le姓名,则打印xxx今年xxx岁

'''

# age = int(input('输入年龄:'))
# username=input('输入用户名')

# if age>18 and  username:  # True and False --->False
# 	print('{}今年{}岁了!'.format(username,age))


# print('---game over----')

练习二

'''
if 判断的第二种使用方式:

if 表达式(条件):
	条件成立
else:
	条件不成立执行的语句

注意:添加缩进  一个tab

'''

'''
需求:
  消消乐
    lv1
    lv2
 

  lv1:  免费玩 随便玩

  lv2:  充值  买道具  继续玩


'''

# print('*'*10,'欢迎来到消消乐','*'*10)
# level = input('请输入你的级别(lv1,lv2):')
# if level=='lv1':
# 	print('免费玩 随便玩')
# else:
# 	print('已经进入付费级别,充值继续玩')
# 	money = int(input('请充值(必须是100的倍数):'))
# 	# if 语句是允许嵌套,注意缩进问题
# 	if money%100==0 and money>0:
# 		print('充值成功!充值金额是:',money)
# 	else:
# 		print('充值失败,充值金额必须是100的倍数!')

练习三

'''
 if 条件1:
 	 成立
 	 if 条件2:
 	 	 成立
	 else:
	 	 不成立
 else:
 	 不成立
 	 if 条件3:
 	 	 成立
	 else:
	 	 不成立

'''
# 随机数:
import random
# print(random.randint(1,10))

'''
猜大小

步骤:
1. 系统产生一个随机数
2. 键盘输入一个数
3. 将系统产生的与键盘输入的进行比较
4. 猜对了,中大奖  猜错啦  拜拜下次再来

'''
# ran = str(random.randint(1,10))   # 8
# num =input('请输入(1-10)之间的随机:')  # '8'


# # print(8 =='8')
# if ran == num:
# 	print('恭喜中大奖啦!奖品是:笔记本')
# else:
# 	print('很遗憾你猜错啦!与奖品擦肩而过~~~')
'''

多层条件判断:
if 100-90:
	优+
elif 90-80
    优-
elif  80-70
    良
elif  70-60
   及格
else
   不及格
'''

age = int(input('请猜猜宋宋姐年龄:'))

if age <= 18 and age>0:
	print('(o゜▽゜)o☆[BINGO!] 太有眼光啦!')
elif age>18 and age<=30:
	print('人家还是宝宝呢.....')
elif age>30 and age<=40:
	print('长得太年轻了吧!!!!')
else:
	print('输入错误!')
'''
4种:

if 条件:
	  语句

----------
if 条件:
	语句
else:
	语句

----------

if 条件1:
	.....
	if 条件2:
		语句
	else:
		语句
else:
	.....

-----------
if 条件1:
     语句
elif 条件2:
	语句
elif 条件3:
	....
else:
	语句
'''

总结

提示:这里对文章进行总结:
以上:主要介绍了 python 的位运算,三目运算符,if条件语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值