Python 条件与循环
一、Python条件判断
Python中的条件语句是
if语句和
if else语句
if条件语句(一组语句的缩进必须是相同的。)
语法:
if(条件表达式):
语句块。
示例一:
编辑一个python脚本 :
vim if1.py
#!/usr/bin/python3 #也可以写:#!/bin/env python3
# coding:utf-8 #也可以写:# -*- coding:utf-8 -*-
money=int(input("请输入你兜里的钱数:")) #int是将字符串转换为整数,使得可以和下面的if进行对比
if(money>99):
print ("贼有钱")
print ("各种潇洒")
给脚本加一个执行权限
chmod +x if1.py
执行脚本
./if1.py

示例二:
编辑一个python脚本:
vim if3.py
print ('请输入学院考试成绩:')
score=int(input())
if score>=60:
print ('合格')
执行脚本: python3 if3.py(因为没有也else,所以当输入成绩小于60时不会显示)

条件表达式与关系运算符
if-else条件语句
语法:
if(条件表达式):
语句块1
else:
语句块2
示例一:
编辑脚本:
vim if3.py
print ('请输入学院考试成绩:')
score=int(input())
if score>=60:
print ('合格')
else:
print ('不合格,你该努力了')
执行脚本:python3 if3.py

多重if语句
语法:
if(条件表达式1):
语句块1
elif(条件表达式2):
语句块2
elif(条件表达式3):
语句块3
…
else:
语句块
编辑脚本:
vim if3.py
print ('请输入学院考试成绩:')
score=int(input())
if score>=80:
print ('优秀')
elif score>=60:
print ('合格')
else:
print ('不合格,你该努力了')
执行脚本:
python3 if3.py

if语句的常见问题:
(1)容易出现逻辑错误,条件是由上向下判断,如果条件成立,下面的条件判断不再执行。
(2)语句块没有缩进。(当然,缩进不同也会报错。当条件满足时有缩进的才会出现,没有缩进的不论条件满足与否都会出现)


二、python的循环
Python提供了
while和
for语句
实现循环操作
while循环
格式化输出:%d 格式化整型
%s 格式化字符串
%f 格式化浮点数字
while循环语句
语法:
while条件表达式:
循环操作语句
示例一:
编写一个python脚本:
vim while1.py
count=0
while(count<5):
count=count+1
print (count)
执行脚本:python3 while1.py

示例二:
编辑python脚本:
vim while2.py
i=1
sum=0
while i <= 5:
print ('请输入第%d门课程的考试成绩:'%i)
sum = sum + int(input())
i = i+1
avg = sum / (i-1)
print ('5门课程的总分为%d,平均分为%d'%(sum,avg))
执行脚本: python3 while2.py

while循环嵌套
在while语句中,可以包含另一个while语句
示例一:
编写脚本:vim while2.py
j=1
while j<=2:
i=1
sum=0
name=input('请输入你的名字:')
while i <= 5:
print ('%s同学请输入第%d门课程的考试成绩:'%(name,i))
sum = sum + int(input())
i = i+1
avg = sum / (i-1)
print ('%s同学的5门课程的总分为%d,平均分为%d'%(name,sum,avg))
j+=1
print('学员分数统计完毕')
执行脚本:python3 while2.py

for循环
for是使用遍历元素的方式进行循环。
for循环的几种方式:
语法:
for 变量 in 集合:
语句块
示例一:
编写脚本:vim for1.py
for i in 'python':
print ('当前获取的字母是:%s'%i)
执行脚本:python3 for1.py

示例二: for也可以对列表和元组进行遍历:
编写脚本:vim for2.py
fruits = ["西瓜","苹果","葡萄"]
for fruit in fruits:
print (fruit)
执行脚本: python3 for2.py

示例三:需要循环操作相同的内容时,可以用for循环和range()函数结合使用:
编写脚本:vim for3.py
for i in range(0,5):
print ('北京欢迎您')
执行脚本:python3 for3.py

示例四:for循环示例:
编写脚本:vim for4.py (len()是用来获取元素的数量的)
subjects=('Python','Mysql','Linux')
sum=0
for i in subjects:
print ('请输入%s课程的考试成绩:'%i)
score=int(input())
sum+=score
avg=sum/len(subjects)
print ('学员考试总成绩为%d,考试平均分为%d'%(sum,avg))
执行脚本:python3 for4.py

三、逻辑运算符
and 逻辑与 如果两个操作数都为True,则表达式值为True
or 逻辑或 如果两个操作数中有一个为True,则表达式值为True
not 逻辑非 求反运算,如果操作数值为True,则表达式值为False,如果操作数值为False,则表达式值为True
示例一:
编写脚本:vim for5.py
score =180
if (score<0 or score > 100):
print ('成绩错误,不能小于0或大于100')
if (not(score>=0 and score <=100)):
print ('成绩错误,不能小于0或大于100')
执行脚本:python3 for5.py

for循环嵌套
示例一:
编写脚本:vim for4.py
students=['xiaoming','xiaozhang']
subjects=('Python','Mysql','Linux')
for student in students:
sum=0
for i in subjects:
print ('请输入%s同学的%s课程的考试成绩:'%(student,i))
score=int(input())
sum+=score
avg=sum/len(subjects)
print ('%s同学的考试总成绩为%d,考试平均分为%d'%(student,sum,avg))
执行脚本:python3 for4.py

四、循环控制
使用while和for语句执行循环操作时,有可能需要改变循环的正常执行顺序,这时候就需要用循环控制语句,循环控制语句有break和continue。
break语句
在循环语句快中使用break语句,可以中断整个循环。
示例一:
编写脚本:vim for4.py
students=['xiaoming','xiaozhang']
subjects=('Python','Mysql','Linux')
for student in students:
sum=0
for i in subjects:
print ('请输入%s同学的%s课程的考试成绩:'%(student,i))
score=int(input())
if (score<0 or score>100):
print('成绩无效')
break;
sum+=score
avg=sum/len(subjects)
print ('%s同学的考试总成绩为%d,考试平均分为%d'%(student,sum,avg))
执行脚本:python3 for4.py

continue语句:
在循环语句快中使用continue语句,可以逃到下一个循环
案例:
编写脚本:vim for4.py
students=['xiaoming','xiaozhang']
subjects=('Python','Mysql','Linux')
for student in students:
sum=0
for i in subjects:
print ('请输入%s同学的%s课程的考试成绩:'%(student,i))
score=int(input())
if (score<0 or score>100):
print('成绩无效')
continue;
sum+=score
avg=sum/len(subjects)
print ('%s同学的考试总成绩为%d,考试平均分为%d'%(student,sum,avg))
执行脚本:python3 for4.py

五、循环综合案例:
1.实验需求
(1)显示操作的菜单,有3个选项,分别用字母N、E、Q表示。
(2)N表示输入新的账户名和密码。
(3)E表示使用用户名和密码登录。
(4)Q表示推出程序。
2.编写功能
编写脚本:vim a.py
#定义字典,存储用户信息
kgc={}
#定义菜单
prompt=''' (N)ew user login
(E)ntering user login
(Q)uit
Enter choice:
'''
while True:
choice = input(prompt).strip()[0].lower()
print ('\nYou picked : [%s]' % choice)
if choice not in 'neq':
print ('--invalid option,try again--')
else:
if choice == 'n':
prompt1 = 'login desired:'
while True:
name=input(prompt1)
if name in kgc:
prompt1 ='--name taken,try another:'
continue
else:
break
pwd = input('password:')
kgc[name]=pwd
elif choice == 'e':
name = input('login:')
pwd = input('password:')
password = kgc.get(name)
if password == pwd:
print ('--welcome back--',name)
else:
print ('--login incorrect--')
else:
print ('quit')
break
执行脚本 python3 a.py

更多推荐



所有评论(0)