Day3 运算符、数字类型、字符串

2018-12-26  本文已影响0人  LitoYu

一、运算符

python 支持:数学运算符、比较运算符、逻辑运算符、赋值运算符、(位运算符)

1.数学运算符:

"+ "(加),"-"(减) ," * "(乘), /(除),//(整除),%(取余), " ** "(幂运算),

a. 其中 + 、-、*、/ 和数学中的加减乘除一模一样

print(10 + 20)
print(12.6 + 5)
print(100 - 110)
print(2 * 3)
print(5 / 2)

b. // (整除),数字1 //数字2 --> 数字1除以 数字2,结果只取整数部分

print(5 // 2)   # 2
print(6.3 // 3)  # 2.0

c. 取余:求余数

print(5 % 2)   # 求五除以二的余数
print(10 % 4)

d. **(幂运算),x ** y --->运算符的 x 的 y 次方

print(2 ** 3)
print(10 ** 4)
print(16 ** 0.5)    # x ** 0.5 == x ** (1/2)==x开平方
print(8 ** (1/3))
age = 18
print(age + 10)   # 注意 :运算符的运算对象不一定非是数据,也可以是存数据的变量

2. 比较运算符

比较运算符:>, < ,==, !=,>= ,<=

print(10 > 20)
print(10 < 20)
print(10 == 20)
print(10 == 10)
print(10 != 10)
print(10 >= 10)
print(10 <= 20)
age = 18
print(age >= 18)
num = 100
print(type(num), num, id(num))

运行效果:


运行效果

==判定的是值是否相等,is判定的地址是否相等

list1 = [1, 2]
list2 = [1, 2]
list3 = list1
print(list1, list2)
print(id(list1), id(list2))
print(list == list, list1 is list2)
print(list1 == list3, list1 is list3)

运行效果:


运行效果
num1 = 100
num2 = 100
print(id(num1), id(num2))

运行效果:


运行效果

3. 逻辑运算符:

a. and(逻辑与运算), or(逻辑或运算), not(逻辑非运算)

练习:如果考试成绩大于90分和平时表现成绩大于等于95分就能获得奖学金

grade = 90
score = 95
print("是否能拿奖学金", grade > 90 and score >= 95)

运行效果:


运行效果

b.值1 or 值2 ->只有两个都是false才为false,否则就是true,相当于生活逻辑中的“或者”

true or true -> true
true or false -> true
false or false -> false
false or true -> true

练习:如果考试低于60分,或者上课不听讲就降班

grade = 70
is_not_in_class = False   # True代表不在班级,False代表在班级
print('是否降班:', grade < 60 or is_not_in_class)

运行效果:


运行效果

c. 逻辑非运算:not 值1->运算对象和结果都是布尔值,对结果进行否定,或者取反。

not True -> False
not False -> True
练习:年龄不小于十岁

age = 20
print(not age < 10)

d.赋值运算符:

=, +=, -=, *=, /=, //=, %=, **=
所有的赋值运算符要求赋值符号的左边必须是变量,右边必须是有结果的。

num1 = 100
num2 = num1   # 变量赋值给变量,赋的是变量中存储的地址
num3 = 3
num3 += 10   # num3 = num3 +10 = 3 + 10
print(num3)   # 13

num3 -= 3   # num3 = num3 - 3 = 13 - 3
print(num3)  # 10

4. 复合运算:运算符的优先级

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符,
优先级高的先算,优先级低的后算,但如果有(),先算()里面的
数学运算符中: ** > * / % // > + -
练习:
print(19 + 20 > 6**2 + 4 or 10 + 3 < 3 * 3)
布尔值True == 1 ,False == 0,可参与运算.

二、 数字类型

python的数字类型:int bool complex float

1.整型(int):包含所有的整数,支持十进制,二进制,八进制和十六进制。

num4 = 23
num = 0b100011  # 0b + 二进制数
num5 = 0o7654321  # 0o + 八进制数
num6 = 0xaf9456   # 0x +十六进制数
print(num4,num5,num6,num)

运行效果:


运行效果
print('十进制',123)
print('二进制',bin(123))
print('八进制',oct(123))
print('十六进制',hex(123))
print(0b0111)
print(0b0111 + 2)

运行效果:


运行效果

2.浮点型: float 包含所有的小数,支持科学计数法。

num7 = 12.5
num2 = 3e2  # 代表3乘以10的二次方
print(num2)
num3 = 1.25e2
print(num3)
运行效果

3.布尔(bool):

值只有True和False两种,True == 1, False == 0.True还是表示真,肯定,Flase还是表示假,否定。

sun = True + 10
print(sun)
print(True == 1, False == 0)

运行效果:


运行效果

3.复数(complex):

实部 + 虚部j,j前面必须有数字,不能省略。

三、字符串

1.字符串

通过''或者“”括起来的字符集(文本)就是字符串。
str1 = '123'
str2 = 'abc123'

2.字符串类型(str)

str是python自己提供的一种容器型数据类型,一个字符串中可以保存多个字符。
字符:python中只有字符的概念没有字符类型,
如果在puthon中要表示一个字符,用长度为1的字符串来表示。
字符串不可变但有序:不可变指的是字符的值和字符串的长度不可变,
有序指的是在一个字符串中,每个字符在字符串中的位置是确定的。
字符串"abc"和"bac"是不一样的

3.字符串中的字符:

data = 100
data1 = '100'
data2 = 'agj好123'
str4 = '23\n45'
str5 = '123\'we'
str6 = "123\"w'qw"
str7 = "\\hello \\npython"
str8 = "\terer"
str9 = R"\t姓名:小白\n\t年龄:18"
str10 = "啊哈,你,需要我的帮助\u4E00\u9FA5"
print(str4)
print(str5)
print(str6)
print(str7)
print(str8)
print(str9)
print(str10)

运行效果:


运行效果

3.编码字符

4.字符编码:

print(chr(0x0180))
print(hex(ord('俞')),hex(ord('雷')))

运行效果:


运行效果

课后作业

  1. 下面定义变量正确的是( a d)
    a. a = b = c = 10
    b. a,c = 10
    c. in = 20
    d. num = 10; t = 20

  2. n = 6784,以下能够获取到7 的方法有( c d )
    a. n / 1000 % 100
    b. n % 1000 / 100
    c. n // 100 % 10
    d. n // 10 % 100 // 10

9.以下表达式 10 / 4 + 23 // 4 * 2 - 30的计算结果是:2.5+10-30= -17.5。

#写代码获取输入数字12345中的每一位上的数字
num1 = 12345
print('第一位数:',num1 // 10000)
print('第二位数:',num1 % 10000 // 1000)
print('第三位数:',num1 % 1000 // 100)
print('第四位数:',num1 % 100 // 10)
print('第五位数:',num1 % 10)
#写出判断一个数是否能同时被3和7整除的条件语句
num2 = 21
print(num2 % 3 == 0 and num2 % 7 == 0)
#写出判断一个数是否能够被3或者7整除,但是不能同时被3和7整除的表达式
num3 = 21
print((num3 % 3 == 0 or num3 % 7 ==0 ) and (not num3 % 3 ==0 and num3 % 7 == 0))
# 今天上课讲了1500秒的课,编程计算今天上课时间是多少小时,多少分钟,多少秒
tim = 1500
print(tim // (60**2),'小时')
print(tim % (60 ** 2) // 60,'分钟')
print(tim % (60 ** 2) % 60,'秒')
"""
定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否完美!
        公式:体重(kg)除以身高(m)的平方的值在18.5~24.9之间属于正常(输出True)
"""
height = 1.76
body_weight = 70
print(18.5 <= body_weight / height ** 2 <= 24.9)

运行结果:


运行结果
上一篇下一篇

猜你喜欢

热点阅读