# """ # 计算机程序可以处理各种数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。 # 在Python中,能够直接处理的数据类型有以下几种:整数 1,2,3,10,100,1000,-1000 等等 # 计算机由于使用二进制,所以,在计算机中也常用二进制或者十六进制表示整数。 # 二进制数只使用数字0、1表示,在Python中,二进制整数使用前缀0b表示,比如:0b0110,0b1100。 # 十六进制数除了0~9十个数字以外,还使用a、b、c、d、e、f,在Python中,十六进制使用前缀0x,比如:0x12ef,0xde2431af。 # """ # print(0) # 0 # print(type(0)) # <class 'int'> # # x = 0b0110 # 0*1 + 1*2 + 1*2*2 + 0*2*2*2 # print(x) # 6 # print(0 * 1 + 1 * 2 + 1 * 2 * 2 + 0 * 2 * 2 * 2) # 6 # # y = 0x12ef # 15*1 + 14*16 + 2*16*16 + 1*16*16*16 # print(y) # 4847 # print(15 * 1 + 14 * 16 + 2 * 16 * 16 + 1 * 16 * 16 * 16) # 4847 # print(type(0b1101)) # <class 'int'> # """ # 一个浮点数的小数点位置是可变的(浮动的),比如,1.23x10^9和12.3x10^8是相等的,因此称为浮点数。 # 在Python中,把10用e替代,比如:1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5 # """ # print(1.23e9) # 1230000000.0 # # print(0.27 + 1.66) # 1.93 # z = 0.666 # print("%f" % z) # 0.666000 # print("%.2f" % z) # 0.67 # print("%.2f%%" % z) # 0.67% # print(type(z)) # <class 'float'> # """ # 在Python中,字符串是以''或""括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分, # 因此,字符串'abc'只有a,b,c这3个字符 # """ # print('123') # 123 # print("123") # 123 # print(type('123')) # <class 'str'> # # print("'111'") # '111' # print('"111"') # "111" # print('111' == "111") # True # print("'111'" == '"111"') # False # """ # 布尔值:True、False(请注意大小写,不需要使用字符串符号括起来),也可以通过布尔运算计算出来 # 布尔值可以用and、or和not运算(注意and,or,not都是Python语言本身的关键字) # 1. and运算是与运算,只有所有都为 True,and运算结果才是 True。 # 2. or运算是或运算,只要其中有一个为 True,or 运算结果就是 True。 # 3. not运算是非运算,它是一个单目运算符,把 True 变成 False,False 变成 True。 # 4. Python把0、空字符串看成False,其他数值和非空字符串都看成True。 # 5. not计算的优先级是高于and和or的 # 短路计算: # 在计算a and b时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。 # 在计算a or b时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。 # """ # print(1 and 4) # 4,因为要所有的都比较完,才能确定是为TRUE还是FALSE # print(1 and 4 or 0) # 4 # print(4 and 1) # 1 # print(1 or 4) # 1,因为只有一个成立时,就为TRUE了,成立就不再比较 # print(1 or 4 and 3) # 1,短路原则,若1 or 时永远成立,就不再比较后面的值 # print(1 or 0 and 3) # 1 # print(1 and 3 or 0 and 2) # 3 # print(0 or 1 and 0) # 0,0 or时不成立,需要往后面再比较 # print(0 or 1 and 2) # 2 # # print(not True or 1) # 1 # print(not True and 1) # False # """ # 空值是Python里一个特殊的值,用None表示。 # None和0是不一样的,因为0是有意义的,比如我有0个苹果表示我没有苹果,0表达的是数值0的意思,而不能表示为我有None个苹果,None是一个特殊的空值。 # False表示值为假 # """ print(None == 0) print(False == 0) print(not True == 0) print(None == False) """ ______ False 【】 True True False """ # """ # 整数、浮点数可以直接进行 加减乘除 四则运算 # 注意到:整数和浮点数运算后,不管小数位有没有值,结果都变成了浮点数 # """ # num1 = 10 # num2 = 0.5 # print(num1 + num2) # 10.5 # print(num1 - num2) # 9.5 # print(num1 * num2) # 5.0 # print(num1 / num2) # 20.0 # """ # 取模:取余数,可以用来判断一个数是否为偶数 # 地板除//:得到的结果会忽略纯小数的部分,得到整数的部分 # """ # print(num1 % num2) # 0.0 # print(5 % 3) # 2,取余数 # print(5 // 3) # 1,取整数""" 四舍五入:round(num, 2) round(需要保留小数点位数的数值, 保留几位) 下面的例子,明明是四舍五入,但是四舍五入的结果值不一样,一个进位了,一个没有进位 """ print(round(3.45, 1)) # 3.5 print(round(3.1245, 3)) # 3.124 # ps:一个长方形的长为3.14cm,宽为1.57cm,请计算这个长方形的面积,保留小数点后两位 num1 = 3.14 num2 = 1.57 num3 = num1 * num2 print(num3) print(round(num3, 3)) # 因为发现round的四舍五入不对,重写round方法 def fix_round(num_1, num_2): """ :param num_1: 要被计算的数字 :param num_2: 要保留的小数的位数 :return: int 计算后的 num_1 """ _int, _dot = str(num_1).split(".") _index = 0 has_ten = False dot_new = "" for i in _dot: if _index < num_2: dot_new += i _index += 1 continue elif _index == num_2: if int(i) >= 5: pre_num = int(dot_new[-1]) + 1 if pre_num == 10: pre_num = 0 has_ten = True dot_new = dot_new[:len(dot_new) - 1] + str(pre_num) _index += 1 else: break if has_ten: old_len = len(dot_new) dot_new = str(int(dot_new) + 10) if old_len != len(dot_new): _int = str(int(_int) + 1) return _int + "." + dot_new[1:] print(fix_round(3.999999789, 5)) # 循环的思考 def test(l, p): for i in l: if i == 1: print("i = 1") if p == 1: print("吃饱了,不吃了") break if p == 3: print("p = 3 不对") break if p == 2: print("p = 3 不对") continue continue if i == 5 and p == 31: print("吃饱了,不吃了") continue l = [1, 3, 45, 7, 0] test(l, 1)
标签:False,16,day1,运算符,num,print,True,dot From: https://www.cnblogs.com/purewhite/p/17179530.html