Python入门—第二天
第一个Python程序
打开pycharm,新建新项目,输入:
print('hello', end='')
print(',world')
# end='' 表示不换行
变量和类型
- 整型(
int
):Python中可以处理任意大小的整数,而且支持二进制(如0b100
,换算成十进制是4)、八进制(如0o100
,换算成十进制是64)、十进制(100
)和十六进制(0x100
,换算成十进制是256)的表示法。 - 浮点型(
float
):浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456
)之外还支持科学计数法(如1.23456e2
)。 - 字符串型(
str
):字符串是以单引号或双引号括起来的任意文本,比如'hello'
和"hello"
。 - 布尔型(
bool
):布尔值只有True
、False
两种值,要么是True
,要么是False
。
变量-数据的载体
-
字母(Unicode字符)、数字、下划线,不能使用特殊字符,数字不能开头
-
变量名是区分大小写的(大小写敏感,x和X是两个不同的变量名)
-
不能使用Python中的关键字(Python代码中有特殊含义的单词)和保留字(已经Python使用的字)
-
见名知意(看到变量的名字,就能知道它代表了什么意思)
-
变量的命名使用全小写,多个单词用下划线进行连接(Snake case)
运算符
- 赋值运算符:右边的值赋值给左边(变量)–> =
- 算术运算符 --> + - * / // % **
- 符合运算符 --> += -= *= /=
- 关系运算符(比较运算符) --> > < >= <= == != -->产生布尔值
- 逻辑运算符 --> and(与) or(或) not(非)
运算符优先级由高到低
算法运算
"""
算法运算
"""
num1 = 123
num2 = 10
# 加
print(num1 + num2)
# 减
print(num1 - num2)
# 乘
print(num1 * num2)
# 除
print(num1 / num2)
# 取整
print(num1 // num2)
# 取余
print(num1 % num2)
# 求幂
print(num1 ** num2)
a1 = int(input('a1 ='))
b2 = int(input('b2 ='))
print(a1 + b2)
print(a1 - b2)
print(a1 * b2)
print(a1 / b2)
print(a1 // b2)
print(a1 % b2)
print(a1 ** b2)
# input() 函数接受一个标准输入数据
运行程序,输入a1 = 123,b2 = 10,得以下结果
a = 123
b = 1.23
c = 'hello'
d = a < b
e = 1 + 1j
print(a, type(a))
print(b, type(b))
print(c, type(c))
print(d, type(d))
print(e, type(e))
# type()数据的类型
a = 100 # 十进制
b = 0o110 # 八进制
c = 0x110 # 十六进制
d = 0b110 # 二进制
e = 123e-5 # 浮点数的科学计数法
print(bin(47)) # 十进制转二进制
print(oct(47)) # 十进制转八进制
print(hex(47)) # 十进制转十六进制
print(a)
print(b)
print(c)
print(d)
print(e)
a1 = float(input('a1 ='))
b2 = float(input('b2 ='))
print('%.1f + %.1f = %.1f' % (a1, b2, a1 + b2))
print('%.1f - %.1f = %.1f' % (a1, b2, a1 - b2))
print('%.1f * %.1f = %.1f' % (a1, b2, a1 * b2))
print('%.1f / %.1f = %.1f' % (a1, b2, a1 / b2))
print('%.1f // %.1f = %.1f' % (a1, b2, a1 // b2))
print('%.1f %% %.1f = %.1f' % (a1, b2, a1 % b2))
print('%.1f ** %.1f = %.1f' % (a1, b2, a1 ** b2))
运行程序,输入a1 = 12,b2 = 10,得以下结果
a1 = float(input('a1 ='))
b2 = float(input('b2 ='))
# 非空字符串转成布尔类型对应的值都是True
# 空字符串转成布尔类型对应的值是False
c = bool(input('c ='))
# 非0的数值转成布尔类型对应的值都是True
# 0转成布尔类型对应的值是False
d = bool(0)
# f - format - 格式化字符
print(f'{a1:.1f} + {b2} = {a1 + b2:.1f}')
print(f'{a1} - {b2:.3f} = {a1 - b2:.2f}')
print(f'{a1} * {b2} = {a1 * b2:.3f}')
print(f'{a1} / {b2} = {a1 / b2}')
print(f'{a1} // {b2} = {a1 // b2}')
print(f'{a1} % {b2} = {a1 % b2}')
print(f'{a1} ** {b2} = {a1 ** b2}')
print(c, d)
运行程序,输入a1 = 15,b2 = 10,得以下结果
{a1.1f}–>表示a1保留一位小数
{a1.2f}–>表示a1保留两位小数
比较运算符
比较运算符有的地方也称为关系运算符,包括==
、!=
、<
、>
、<=
、>=
,我相信没有什么好解释的,大家一看就能懂,需要提醒的是比较相等用的是==
,请注意这里是两个等号,因为=
是赋值运算符,我们在上面刚刚讲到过,==
才是比较相等的运算符;比较不相等用的是!=
,这不同于数学上的不等号,比较运算符会产生布尔值,要么是True
要么是False
。
逻辑运算符
逻辑运算符有三个,分别是and
、or
和not
。and
运算符会连接两个布尔值,如果两个布尔值都是True
,那么运算的结果就是True
;左右两边的布尔值有一个是False
,最终的运算结果就是False
。or
字面意思是“或者”。or
运算符也会连接两个布尔值,如果两个布尔值有任意一个是True
,那么最终的结果就是True
。not
运算符的后面会跟上一个布尔值,它的作用是得到与该布尔值相反的值,也就是说,not
后面的布尔值如果是True
,运算结果就是False
;而not
后面的布尔值如果是False
,运算结果就是True
。
print(True and True)
print(True and False)
print(False and True)
print(False and False)
print('-' * 20)
print(True or True)
print(True or False)
print(False or True)
print(False or False)
print('-' * 20)
print(not True)
print(not False)
and和or两个运算符有短路功能,因此也被称为短路运算符
a = int(input('a ='))
flag1 = a > 50
flag2 = a % 2 == 0
print(flag1, flag2)
print(flag1 and flag2)
print(flag1 or flag2)
print(a >50 and a % 2 == 0)
print(a >50 or a % 2 == 0)
练习1:输入年份判断是不是闰年
year = int(input('year = '))
print(year % 4 == 0 and year % 100 != 0 or year % 400 == 0)
练习2:输入三角形三条边判断是否能构成三角形
a = float(input('a ='))
b = float(input('b ='))
c = float(input('c ='))
print(a + b > c and a + c > b and b + c > a)
练习3:英制单位转公制单位
Mile = float(input('输入英里为'))
m = 1609.344 * Mile
print(f'{Mile}英里 = {m}米')
练习4:输入圆的半径计算计算周长和面积。
import math
r = float(input('输入半径为'))
S = math.pi * r ** 2
C = math.pi * r * 2
print(f'圆的面积为:{S:.4f}')
print(f'圆的周长为:{C:.4f}')
# import math 引用Python中的math函数
# math.pi = Π = 3.1415926