Task1:变量、运算符、数据类型及位运算

变量、运算符、数据类型

1、注释:
1、#表注释,作用于整行
2、""" “”"或’’’ ‘’’ 表区间注释,引号之间所有内容被注释
2、运算符: 包括算术运算符、比较运算符、逻辑运算符、位运算符、三元运算符以及其他运算符
3、变量与赋值: 变量使用前要先赋值,不能以字母开头,注意区分大小写
4、数据类型与转换:
1、获取数据类型信息:type(object)
2、保留小数点后n位可用decimal包里的Decimal对象和getcontext()方法实现

import decimal
from decimal import Decimal
a=decimal.getcontext()

   3、使1/3保留四位小数,用getcontext().prec来调整精度

decimal.getcontext().prec = 4
c = Decimal(1) / Decimal(3)
print(c)
#0.3333

练习题:

1、怎样对python中的代码进行注释?
用#或’’’ ‘’’ 或""" “”"

2、python有哪些运算符,这些运算符的优先级是怎样的?
包括算术运算符、比较运算符、逻辑运算符、位运算符、三元运算符以及其他运算符。
一元运算符优于二元运算符。先算术运算,后移位运算,最后位运算。逻辑运算最后结合。

3、python 中 is, is not 与 ==, != 的区别是什么?
is,is not比较的是内存地址; !=,==比较的是两个变量的值。
4、python 中包含哪些数据类型?这些数据类型之间如何转换?
类型 名称 示例
int 整型 -876, 10
float 浮点型 3.149, 11.11
bool 布尔型 True, False
转换为整型 int(x, base=10)
转换为字符串 str(object=’’)
转换为浮点型 float(x)

位运算

1、原码、补码、反码
2、按位非、按位或——有一个为1即为1、按位与——两个都为1时为1、按位异或——两对应位不同时才为1、按位左(右)移——将数字向左(右)移动 i位。
3、利用位运算实现快速计算

n << 1 -> 计算 n2
n >> 1 -> 计算 n/2,负奇数的运算不可用
n << m -> 计算 n
(2^m),即乘以 2 的 m 次方
n >> m -> 计算 n/(2^m),即除以 2 的 m 次方
1 << n -> 2^n
通过 ^ 快速交换两个整数。
a ^= b
b ^= a

4、利用位运算实现整数集合

元素与集合的操作:
a | (1< 把 i 插入到集合中
a & ~(1< 把 i 从集合中删除
a & (1< 判断 i 是否属于该集合(零不属于,非零属于)

集合之间的操作:
a 补 -> ~a
a 交 b -> a & b
a 并 b -> a | b
a 差 b -> a & (~b)

练习题:

leetcode 习题 136. 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

尝试使用位运算解决此题。

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
   print(a[100])
   a.sort()
   for(int i=0;i<a[].length;i++)
   {
     
   		if(a[i]&a[i+1]):
   			i+=1
   		else:
   			print(a[i])
   	}
   			
   

你可能感兴趣的:(Task1:变量、运算符、数据类型及位运算)