变量和类型

| 整型(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)) #
print(type(b)) #
print(type(c)) #
print(type(d)) #

不同类型的变量可以相互转换,这一点可以通过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
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}不是素数')