后面一定要加冒号
,这是Python语法规定。if语句后面的条件表达式是可以加括号的,但并不是必须的,使用括号可以使代码更加清晰易读,特别是在复杂的条件表达式中。然而,括号并不是语法要求,可以根据人格编码风格和团队约定进行选择。if语句用于判断某个条件是否成立。如果成立,则执行语句内的程序;否则跳过if语句,执行后面的内容。
语法格式如下:
if condition:
# 代码块
else:
# 代码块
# 示例1:下面的代码演示了如果使用if语句来判断一个数是否为正数:
num = int(input("请输入一个整数:")) # 输入的数字将会被转换为int 数字类型,默认是字符串类型(str)
if (num > 0):
print("输入的是正数")
else:
print("输入的不是正数")
# 示例2:接收学生的考试成绩,使用if语句判断。如果成绩大于等于60.输出”合格“
print("请输入学生考试成绩:")
score = int(input())
print(score >= 60) # 如果输入的成绩大于等于60将会输出True,否则输出Fasle
if (score >= 60):
print("合格")
else:
print("需要努力")
score >= 60
就是一个使用关系运算符>=
的条件表达式,表示:如果score大于等于60,则表达式的结果是True(真);否则False(假)。条件表达式的语法如下。操作数 关系运算符 操作数
# 关系运算符 说明:
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
# 示例3:关系运算符的运算结果:
print(10 == 9) # False 假
print(10 != 9) # True 真
print(10 > 9) # True 真
print(10 < 9) # False 假
print(10 >= 9) # True 真
print(10 <= 9) # False 假
# 运行结果如下
False
True
True
False
True
False
if 条件表达式:
语句块1
else:
语句块2
# 示例4:接收学生的考试成绩,使用if语句判断。如果考试成绩大于等于60分,输出”合格“;否则输出”需要努力“
print("请输入学生考试成绩:")
score = int(input())
if (score >= 60):
print("合格")
else:
print("需要努力")
if 条件表达式1:
语句块1
elif 条件表达式2:
语句块2
elif 条件表达式3:
语句块3
else:
语句块4
# 接收学生的考试成绩。如果考试成绩大于等于90,则输出”优秀“。如果考试成绩小于90分且 大于等于70分,则输出”良好“。如果考试成绩小于70分且大于等于60分,则输出”合格“。如果考试成绩小于60分,则输出”需要努力“
print("请输入学生考试成绩")
score = int(input())
if (score >= 90):
print("优秀")
elif (score >= 70):
print("良好")
elif (score >= 60):
print("合格")
else: # else关键字是可选的
print("需要努力")
# 逻辑错误
print("请输入学生考试成绩")
score = int(input())
if (score >= 60): # 如果直接匹配到 >= 60那么就不会再去匹配 >= 90的if判断了
print("合格")
elif (score >= 70):
print("良好")
elif (score >= 90):
print("优秀")
else: # else关键字是可选的
print("需要努力")
# 缩进错误
print("请输入学生考试成绩")
score = int(input())
if (score >= 60):
print("合格") # 这里没有缩进就会直接报错
# 此脚本加了pass占位符将不会报错
print("请输入学生考试成绩")
score = int(input())
if (score >= 60):
pass
print("合格")
# 示例6:当count值小于正整数5时,执行加1操作。当count小于5时,输出count的值
count = 0
while (count < 5):
count = count + 1
print(count)
# 代码执行结果
1
2
3
4
5
# 输入5门课程的考试成绩,计算平均分并输出。
i = 1
sum = 0
while (i < 5):
print("请输入第%d门课程的考试成绩" % i) # 字符串的格式化是将若干值插入带有"%"替代符的字符串中,从而可以动态地输出字符串
sum = sum + int(input()) # 输入的考试成绩加sum然后重新赋值给sum变量
i = i + 1
avg = sum / (i - 1)
print("5门课程的平均成绩是%d" % avg)
# 执行效果如下
请输入第1门课程的考试成绩
50
请输入第2门课程的考试成绩
80
请输入第3门课程的考试成绩
70
请输入第4门课程的考试成绩
90
5门课程的平均成绩是72
i = 1 # 初始化循环计数器
sum = 0
while (i < 5):
print("请输入第%d门课程的考试成绩" % i)
sum = sum + int(input()) # 输入的考试成绩加sum然后重新赋值给sum变量
i = i + 1 # 每次执行 i + 1 = i
avg = sum / (i - 1) # 计算出平均值
print("5门课程的平均成绩是%d" % avg) # 把avg的值,动态格式化为%d的值(替换)
%d
表示插入的是一个整型数据,%s
表示插入的是一个字符串类型,%f
表示插入的是一个浮点型%i
表示获取变量 i
的值# 示例8:常用替代符的使用情况
num = 5 # 整数类型
numStr = "5" # 字符串类型
numF = 5.55 # 浮点型类型
print("整数类型:%d" % num)
print("字符串类型:%s" % numStr)
print("浮点类型:%f" % numF)
# 运行结果如下
整数类型:5
字符串类型:5
浮点类型:5.550000
first = 1
second = 2
print("first的值:%d\nsecond的值:%d" %(first,second)) # \n:换行输出
# 运行结果如下
first的值:1
second的值:2
# 使用时注意替代符和变量的顺序,位置不能放错,是否可能会出现类型不匹配的问题
num = {"first":1,"second":2}
print("第%(first)d和第%(second)d" %num)
# 因为字典时无需的,所以使用字典时通过见获得与之对应的值
# 使用while语句分别接收2名学生的5门课程考试成绩,计算并输出每个人的平均成绩
j = 1 # 初始化外层循环计算器 j
prompt = "请输入学生姓名:"
while (j <= 2):
sum = 0 # 每个人的总成绩清零
i = 1
name = input(prompt)
while (i <= 5):
print("请输入第%d门课程的成绩" % i)
sum = sum + int(input())
i = i + 1
avg = sum / (i - 1)
print("%s的平均成绩:%d" % (name,avg))
j = j + 1
print("学生成绩输入完成")
# for循环可以对字符串进行遍历,逐个获得字符串的每个字符
for letter in "Python":
print("current letter:%s" %letter)
# 运行结果如下
current letter:P
current letter:y
current letter:t
current letter:h
current letter:o
current letter:n
# for循环可以对列表和元组进行遍历
fruits = ["西瓜","苹果","普调"]
for fruit in fruits:
print("当前的是%s" %fruit)
# 执行结果如下
当前的是西瓜
当前的是苹果
当前的是普调
# 备注:取值列表也可以使用元组
# 需要循环操作相同的内容时,可以用for循环和range()函数结合使用,先看看range()喊出的作用
print(list(range(0,5)))
[0, 1, 2, 3, 4]
print(list(range(0,5,2)))
[0, 2, 4]
# 备注:list(range(0,5,2))表示列表值0到5(不包含5),间隔2,即0、2、4
# 示例11:接收某个学生三门课程的考试成绩,计算出平均成绩
subjects = ["Python","MySQL","Linux"] # 课程名称
sum = 0
for i in subjects:
print("请输入%s的成绩" % i)
score = int(input())
sum += score # 与sum = sum + score 等价
avg = sum / len(subjects) # len(subjects) subjects变量里面有3个值,所以除3
print("小明的平均成绩是%d" % avg)
# 代码运行效果如下
请输入Python的成绩
50
请输入MySQL的成绩
80
请输入Linux的成绩
90
小明的平均成绩是73
# 更新之后的玩法
subjects = ["Python","MySQL","Linux"] # 课程名称
sum = 0
print("请输入姓名和考试成绩")
name = input("姓名:")
for i in subjects:
print("请输入%s的%s的成绩" % (name,i))
score = int(input())
sum += score # 与sum = sum + score 等价
avg = sum / len(subjects) # len(subjects) subjects变量里面有3个值,所以除3
print("%s的平均成绩是%d" % (name,avg))
# 执行效果如下
请输入姓名和考试成绩
姓名:王子恒
请输入王子恒的Python的成绩
50
请输入王子恒的MySQL的成绩
80
请输入王子恒的Linux的成绩
90
王子恒的平均成绩是73
# 演示逻辑运算符的使用方式
print(not True) # False(假)
False
print(True and False) # False(假)
False
print(True or False) # True(真)
True
not 是求反运算,所以not True的结果是False
and 是与运算,只要一个值是False,结果就是False
or 是或运算,只要有一个值为True,结果就是True
# 下面对成绩做一个有效性的判断
score = 180
if (score < 0 or score > 100):
print("成绩错误,不能小于0或大于100")
# 执行效果如下
成绩错误,不能小于0或大于100
# 示例12:使用for语句分别接收2名学生的5门课程考试成绩,计算并输出每个人的平均成绩
students = ["小明","小张"]
subjects = ("Pyton","MySQL","Linux")
for student in students: # 外层循环
sum = 0
for subject in subjects: # 内层循环
print("请输入%s的%s考试成绩:" %(student,subject))
score = int(input())
sum += score
avg = sum / len(students)
print("%s的平均成绩是%d" %(student,avg)) # 输出结果
students = ["小明","小张"]
subjects = ("Python","MySQL","Linux")
for student in students:
sum = 0
i = 0
while (i < len(subjects)): # 外层循环
print("请输入%s的 %s考试成绩:" %(student,subjects[i])) # i=数字,subjects[i]取出这个考试的课程名字
score = int(input())
sum += score
i = i + 1
avg = sum / len(subjects)
print("%s的平均成绩是%d" %(student,avg))
# 示例13:对输出平均成绩的代码进行修改,当成绩无效时,使用break退出循环
students = ["小明","小张"]
subjects = ("Python","MySQL","Linux")
for student in students:
sum = 0
i = 0
while (i < len(subjects)): # 外层循环
print("请输入%s的 %s考试成绩:" %(student,subjects[i])) # i=数字,subjects[i]取出这个考试的课程名字
score = int(input())
if (score < 0 or score > 100):
print("输入的成绩需要大于0小于100,循环退出")
break; # 如果输入的数值不满足条件,则退出整个循环,进入小张的循环
sum += score
i = i + 1
avg = sum / len(subjects)
print("%s的平均成绩是%d" %(student,avg))
# 代码执行下过如下
请输入小明的 Python考试成绩:
1000 # 输入的数值大于条件中的某个判断,退出此次循环
输入的成绩需要大于0小于100,循环退出
小明的平均成绩是0
请输入小张的 Python考试成绩:
students = ["小明","小张"]
subjects = ("Python","MySQL","Linux")
for student in students:
sum = 0
i = 0
while (i < len(subjects)): # 外层循环
print("请输入%s的 %s考试成绩:" %(student,subjects[i])) # i=数字,subjects[i]取出这个考试的课程名字
score = int(input())
if (score < 0 or score > 100):
print("输入的成绩需要大于0小于100,循环继续执行")
continue; # 如果输入的数值不满足条件,则退出整个循环,进入小张的循环
sum += score
i = i + 1
avg = sum / len(subjects)
print("%s的平均成绩是%d" %(student,avg))