变量和类型
| 整型(int)|:Python中可以处理任意大小的整数,而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。
浮点型(float):浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)。
字符串型(str):字符串是以单引号或双引号括起来的任意文本,比如'hello'和"hello"。
布尔型(bool):布尔值只有True、False两种值,要么是True,要么是False。
使用变量保存数据并进行加减乘除运算
a = 10 b = 20 print(a - b) #减法 print(a * b) # 乘法 print(a + b) # 加法 print(a / b) # 除法 print(a % b) # 取余 print(a // b) #取整 print(a**b) #求幂
使用type()检查变量的类型
a = 12 b = "12" c = 12.1 d = True print(type(a)) #<class 'int'> print(type(b)) #<class 'str'> print(type(c)) #<class 'float'> print(type(d)) #<class 'bool'>
不同类型的变量可以相互转换,这一点可以通过Python的内置函数来实现。
int():将一个数值或字符串转换成整数,可以指定进制。
float():将一个字符串转换成浮点数。
str():将指定的对象转换成字符串形式,可以指定编码。
chr():将整数转换成该编码对应的字符串(一个字符)。
ord():将字符串(一个字符)转换成对应的编码(整数)。
练习示例:
num = 100 print(int(num)) # 100 转整数 print(float(num)) #100.0 转浮点数 print(str(num)) #100 #转字符串 print(chr(num)) #d #刚好对应ASCII字符表中的字母a print(ord('b')) #98 #刚好对应ASCII字符表中的数字98 print(bool(num)) # True 转boolean
算术运算符
a = 10 b = 20 print(a - b) #减法 print(a * b) # 乘法 print(a + b) # 加法 print(a / b) # 除法 print(a % b) # 取余 print(a // b) #取整 print(a**b) #求幂
赋值运算符
a =1 b =4 a += b #a = a+b a *=a+2 #a = a*(a+2)
比较运算符
flag0 = 1 == 1 #True flag1 = 3 > 2 #True flag2 = 2 < 1 #False
逻辑运算符
flag3 = flag1 and flag2 #False 类似 && flag4 = flag1 or flag2 #True 类似 || flag5 = not (1 != 2) #False 类似 !
例子1:华氏温度转换为摄氏温度。
提示:华氏温度到摄氏温度的转换公式为: [公式] C = (F -32 )/1.8 。
f = float(input('请输入华氏温度:')) c = (f -32 )/1.8 print('%.2f华氏度 = %.2f摄氏度' % (f, c)) #保留两位小数
tips:字符串%.1f是一个占位符,稍后会由一个float类型的变量值替换掉它
例子2:输入圆的半径计算计算周长和面积。
r = float(input("输入圆的半径为:")) l = 2 * 3.1416 * r area = 3.1416*r**2 print('周长: %.2f' % l) print('面积: %.2f' % area)
例子3:输入年份判断是不是闰年。
year = int(input('输入的年份为:')) isLeap = year%4 == 0 and year%100 !=0 or year%400 ==0 print(isLeap)
分支结构
if语句的使用
例子4:用户身份验证
userName = input('请输入用户名') password = input('请输入密码') if(userName=="admin" and password=="admin"): print('登录成功!') else: print('账号或者密码错误!')
例子5:分段函数求值
x = float(input('请输入x值')) if(x>1): print(3*x - 5) elif(x>=-1 and x<=1): print(x+2) else: print(5*x +3)
for-in循环
例子6:计算1到100的和
x =0 for i in range(1,101): x +=i print(x) range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。 range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。 range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。 range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。
例子7:用for循环实现1~100之间的偶数求和
x = 0 for i in range(2,101,2): x+=i print(x)
while循环
例子8:猜数字游戏
import random count =0 randoms = random.randint(1, 100) while True: count+=1 number = int(input("请输入数字")) if(number<randoms): print('大一点') elif(number==randoms): print('猜对了,游戏结束') break else: print('小一点') print(f'一共猜了{count}')
嵌套的循环结构
例子9:打印乘法口诀表
for i in range(1,10): for j in range(1,10): print(f'{i}*{j}={i * j}', end='\t') print()
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
例子10:输入一个正整数判断它是不是素数。
提示:素数指的是只能被1和自身整除的大于1的整数。
val = int(input('请输入正整数')) is_prime = True end = int(val ** 0.5) for i in range(2,end+1): if val%i==0: is_prime = False break if is_prime and val != 1: print(f'{val}是素数') else: print(f'{val}不是素数')