(一)变量
python
# 变量 Python 是动态类型语言,一个变量是可以存储不同类型的的数据的(但是在项目开发中,建议变量只存储一个类型的数据)
num =111.1
print(num)
num =num+1
print(num)
num ="周杰伦"
print(num)
num =True
print(num)
#案例
base =20.8
incr =50
print("未来一个月的播放量",base+incr)
print("未来第二个月的播放量",base+incr+incr)
#案列 一次性可以定义多个变量
base,incr =20.7,50
print("未来第二个月的播放总量",base+incr)
print("未来第二个月的播放总量",base+incr+incr)
#案例:现在两个变量,分别为:a =10,b=20 现需要将这个变量值交换,然后输出到控制台
a =10
b=20
c=a
a=b
b=c
print(a,b)
(二)数据类型
python
#常用数据类型
#1.通过type()语句来得到数据得类型,具体语法 :type(要查看类型得数据)
from tkinter.font import nametofont
print(type("hello"))
print(type(10))
print(type(3.14))
print(type(False))
print(type(None))
num =-100
print(type(num))
# 2.通过isinstance()检查数据是否属于指定得类型,返回得一个bool值 isinstance(数据,类型)
num =5
print(num)
print(isinstance(num,int))
print(isinstance(num,float))
print(isinstance(num,bool))
#字符串
#定义字符串得三种方式
s1="hello" #双引号
s2='world' #单引号
s3="""
HEDDE
NIHAO
SS
""" #三引号
print(s1)
print(s2)
print(s3)
print(type(s1))
print(type(s2))
print(type(s3))
msg2 ="hello\"niaho\""
print(msg2)
# 字符串拼接方法一
s1="人生苦短"
print(s1)
msg1 ="hello"
print(msg1)
print((s1+""+msg1))
name="niaho"
age=18
pro="软件工程"
print("dajiahao"+name+str(age)+pro)
# 字符串拼接方法二
print("dajiahao %s %s %s" % (name, age, pro))
# 字符串拼接方法三
print(f"dajiahao {name}{age}{pro}") # 方法三:f-string
三,输出与输入
python
#输入 input() 会等待用户键入内容,并以字符串形式返回。
name = input("请输入你的名字:")
print("你好," + name)
#输出 print()
print("Hello, World!")
name = "niaho"
age = 18
print("姓名:", name, "年龄:", age) # 输出:姓名: niaho 年龄: 18
#综合示例
# 输入
name = input("请输入姓名:")
age = int(input("请输入年龄:")) # 转换为整数
pro = input("请输入专业:")
# 输出(三种方式)
print("大家好" + name + str(age) + pro) # 拼接
print("大家好 %s %d %s" % (name, age, pro)) # %格式化(注意年龄用%d)
print(f"大家好 {name}{age}{pro}") # f-string(推荐)
四。算出运算符
python
# +加法 - 减法 * 乘法 / 除法 // 整除(取整) % 取余(模) ** 幂运算
#除法 /
print(10 / 2) # 输出 5.0
#整除 // 的结果是向下取整
print(7 // 3) # 2
print(-7 // 3) # -3 (因为 -2.33 向下取整为 -3)
#取余 % 满足 a = (a // b) * b + (a % b):
print(7 % 3) # 1
print(-7 % 3) # 2 (Python 中余数符号与除数相同)
#练习案例1
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
#f 是 f-string(格式化字符串字面量)的标记,是 Python 3.6 引入的一种字符串格式化语法
print(f"{a} + {b} = {a + b}")
print(f"{a} - {b} = {a - b}")
print(f"{a} * {b} = {a * b}")
print(f"{a} / {b} = {a / b}")
print(f"{a} // {b} = {a // b}")
print(f"{a} % {b} = {a % b}")
print(f"{a} ** {b} = {a ** b}")
#练习2
num = int(input("请输入一个三位数:"))
ge = num % 10
shi = (num // 10) % 10
bai = num // 100
print(f"百位:{bai},十位:{shi},个位:{ge}")
五.赋值运算符
python
# = 直接赋值 += 加后赋值 -= 减后赋值 *= 乘后赋值 /= 除后赋值(结果浮点数) //= 整除后赋值 %= 取余后赋值 **= 幂运算后赋值
#复合赋值不会创建新对象,对于可变对象(如列表)可能直接修改原对象。
#变量必须先赋值才能使用,否则会报 NameError
#赋值运算符没有返回值,不能写成 y = (x += 1)
a = 10 # 基本赋值
b = 5
b += 3 # b = b + 3 → 8
print(b) # 8
b *= 2 # b = b * 2 → 16
print(b) # 16
b //= 3 # b = b // 3 → 5(整除)
print(b) # 5
b %= 4 # b = b % 4 → 1
print(b) # 1
# 字符串也适用
s = "Hello"
s += " World"
print(s) # Hello World
num = int(input("输入一个整数:"))
num += 10
print(f"加10后:{num}")
num **= 2
print(f"平方后:{num}")
六比较运算符
python
# == 等于 != 不等于 > 大于 < 小于 >= 大于等于 <= 小于等于
age = 18
print(age >= 18) # True(成年判断)
print(age == 20) # False
score = float(input("请输入成绩:"))
if score >= 60:
print("及格")
else:
print("不及格")
#字符串比较
#字符串按字典序(ASCII/Unicode 码点)逐个字符比较:
print("apple" < "banana") # True(a < b)
print("Hello" == "hello") # False(大小写敏感)
print("3" > "10") # True!因为比较的是首字符 '3' > '1'
#链式比较(Python 特色)
#Python 支持连续写多个比较,相当于用 and 连接:
x = 5
print(1 < x < 10) # True 等价于 1 < x and x < 10
print(3 == x < 6) # False 等价于 3 == x and x < 6
a = 10
b = 20
print(f"{a} > {b} : {a > b}") #False
print(f"{a} <= {b} : {a <= b}") #True
print(f"{a} == {b} : {a == b}") #False
八。逻辑运算符
python
#and 与 or 或 not 非
age = 20
score = 85
# 判断成年且成绩优秀
if age >= 18 and score >= 90:
print("成年优秀生")
else:
print("不符合条件") # 输出此条,因为 and 要求两边都成立
# 判断未成年或者不及格
if age < 18 or score < 60:
print("需要关注")
else:
print("情况良好") # 输出此条
# not:把 True 变 False,False 变 True
print(not True) # 输出 False
print(not False) # 输出 True
today = "周六"
# 判断:今天是周六 或者 周日
print(today == "周六" or today == "周日") # True(周六满足)
九 if基础语法
python
#1. if条件判断 如果分数超过650 考上211大学
score =600
if score >= 650:
print("欢迎你来西安电子科技大学报道")
print("安排宿舍") # 有缩进 → 属于 if
print("你小子没考上回去复读") # 没有缩进 → 不属于 if,一定会执行
#判断条件的结果一定要是布尔类型
#不要忘记判断条件后的冒号(:)
#if语句里面的代码块,需要在前方缩进空格(建议4个空格),通过缩进来描述代码的层级关系(归属)
# 2.if-else 缩进(4个空格) 属于上面的 if 或 else,有条件地执行 , 顶格(无缩进) 无条件执行,不管 if 结果如何
enumerate = 600
if enumerate >= 650:
print("欢迎你来西安电子科技大学报道")
print("安排宿舍")
else:
print("你小子没考上回去复读") # 现在这行属于 else,只有分数不够才执行
ok_account ="1888"
ok_password ="668"
account =input("请输入账号")
password =input("密码")
# 练习一
if account == ok_account and password == ok_password:
print("登陆成功")
print("进入")
if account != ok_account or password != ok_password:
print("登陆失败")
print("密码错误")
if account == ok_account and password == ok_password:
print("登陆成功")
print("进入")
else:
print("登陆失败")
print("密码错误")
username = input("请输入用户名:")
password = input("请输入密码:")
# 练习二
if username == "admin" and password == "666888":
print("登录成功1")
elif username == "root" and password == "547527":
print("登录成功2")
elif username == "zhangsan" and password == "123456":
print("登录成功3")
else:
print("登录失败,用户名或密码错误")
11.match case语句
python
#练习一
day = input("请输入星期几(1-7):")
if day == "1":
print("周一:工作会议日")
elif day == "2":
print("周二:学习培训日")
elif day == "3":
print("周三:项目开发日")
elif day == "4":
print("周四:代码审查日")
elif day == "5":
print("周五:总结规划日")
elif day == "6" or day == "7":
print("周末:休息放松")
else:
print("输入错误")
12.while循环
python
# 打印 0 到 5 的数字
i = 0
while i <= 5:
print(i)
i += 1 # 记得修改循环变量,否则会无限循环
else:
print("循环正常结束")
#练习二
# 示例:判断列表中是否包含某个数
numbers = [1, 3, 5, 7]
target = 3
i = 0
while i < len(numbers):
if numbers[i] == target:
print("找到了!")
break
i += 1
else:
print("没找到")
.for循环
python
#for循环与while循环的场景while循环:用于在某个条件满足时一直循环,循环的次数通常是未知的,只知道循环开始/结束的条件。关注的是循环的条件)
# for循环:用于对一个已知的数据集进行遍历或已知次数的循环。(关注的是遍历每一个元素)
#练习一
total = 0
for num in range(1, 101):
total = total + num
print("1到100的和是:", total)
#练习二
# 1. 接收键盘录入 m(长度)和 n(宽度)
m = int(input("请输入长方形的长度(每行星号个数):"))
n = int(input("请输入长方形的宽度(行数):"))
# 2. 打印长方形
for i in range(n): # 外层循环:控制行数(宽度)
for j in range(m): # 内层循环:控制每行的星号个数(长度)
print("*", end=" ") # 打印星号,end=" " 表示不换行,加空格分隔
print() # 每行结束后换行
range语句
python
# 用法1 range(end)->获取一个从@开始,到end结束的数字序列(不含end本身)
# range(5)获取的数据就是0,1,2,3,4
# 用法2 range(start,end)->获取一个从start开始,到end结束的数字序列(不含end本身)
# range(2,8)获取的数据就是 2,3,4,5,6,7
# 用法3: range(start,end,step)->获取一个从start开始,到end结束的数字序列,step步长(不含end本身
# range(0,10,2)获取的数据就是0,2,4,6,8
# range(..)语句的作用是什么? 生成指定规则的数字序列
# 从 0 开始
for i in range(5):
print(i) # 输出 0 1 2 3 4
# 指定步长
for i in range(10, 0, -2):
print(i) # 输出 10 8 6 4 2
# 打印 1 到 10 之间的所有偶数
for i in range(2, 11, 2):
print(i)