一. 流程控制之if判断
1.1 :if 判断基本概念
1.2 if 条件完整语法规范:
1.3:单分支
1.4:多分支
二: 与用户交互
2.1: input( ) 接收用户输入
2.2:格式化输出
引:
在集成开发环境pycharm中,书写的代码pycharm会进行逻辑错误检查,和语法错误检查。语法错误检查随着代码的书写会一直进行。而逻辑错误只会在运行代码的时候检查。
存在语法错误的代码文件根本不会运行,而存在逻辑错误的代码文件会在运行到出现逻辑错误的代码位置停止,在此之前的代码都会正常执行。
1.1 :if 判断基本概念
什么是判断?
如果xxx,那么就xxx。
否则,xxx。
为何要判断?
因为想让计算机学习人的逻辑,执行人想让计算机完成的任务。
1.2 if 条件完整语法规范:
if 条件1: ##只要结果是布尔值的都可以作为条件
代码1 ##针对if语法的格式规范代码前面统一4个空格,
代码2
代码3
elif 条件:
代码1
代码2
代码3
elif 条件:
代码1
代码2
代码3
elif 条件:
代码1
代码2
代码3
##可以有很多的elif
最后
else :
代码1
代码2
代码3
##在python中将缩进相同空格数的代码归纳为一组代码(或同一级别),一组代码的运行方式是自上而下一次运行,所以一组代码又称为一组代码块
1.3:单分支
案例:
· 判断用户输入的用户名是否等于正确的,并且输入的密码等于正确的密码
·告诉用户登录成功
print("start...") #这行是为了好看,表示开始的意思 表头 #请开始输入
inp_name = "egon" #设置用户输入的姓名
inp_pwd = "123" #设置用户输入的密码
db_name = "egon" #设置正确的姓名
db_pwd = "123" #设置正确的密码
if inp_name == db_name and inp_pwd == db_pwd: #设置判断用户输入的姓名和密码是否跟正确的相同
print("您已成功登录") #判断正确,登录成功
print("end...") #这行业是为了好看,表示结束了表尾 #输入结束(此步骤可用可不用)
>>>>>start...
您已成功登录
end...
1.4:多分支
格式:
print("start...") #请开始输入
inp_name = "egon" #设置正确的姓名
inp_pwd = "123 #设置正确的密码
db_name = "egon" #设置正确的姓名
db_pwd = "123" #设置正确的密码
if inp_name == db_name and inp_pwd == db_pwd: #判断用户输入的用户名是否等于正确的,并且输入的密码等于正确的密码
print("您已成功登录") #判断正确,登录成功
else: #否则:
print("您输入的账号或密码错误") #设置判断用户输入的有误
print("end...") #输入结束(此步骤可用可不用)
多分支案例:
scroe = 75 #成绩是75分
if scroe >= 90 : #判断条件>=90
print("优秀") #判断为优秀
elif scroe >= 80: #判断条件>=80
print("良好") #判断为普通
elif scroe >= 70: #判断条件>=70
print("普通") #判断为良好
else: #否则:
print("很差") #判断为很差
2.1: input( ) 接收用户输入
在了解if基础的完整语法格式后我们需要学习与用户交互才能发挥if的价值所在。
案例1:
print("start,,,")
inp_name = input("请输入您的用户名:")
inp_pwd = input("请输入您的密码:")
db_name = "egon"
db_pwd = "123"
if inp_name == db_name and inp_pwd == db_pwd:
print("您已登录成功")
else:
print("账号或密码输入错误")
print("end...")
#上述中接收用户输入并与用户交互更好的完善了if语法的使用。
案例2:
scroe = 75
scroe = input("请输入您的成绩:")
scroe = int(scroe) # 知识点int
if scroe >= 90 :
print("优秀")
elif scroe >= 80:
print("普通")
elif scroe >= 70:
print("良好")
else:
print("很差")
>>>>请输入您的成绩90
优秀
#int功能是将纯数字组成的字符串转成整型,因为上述过程,会输入“84.5或者aaa”这些
#input在接受用户输入存入的都是字符串格式,而字符串格式是不可以跟数字整型进行比较,进而用int转换
#Python2中的raw_input()等同于Python3的input
#Python2中input用户输什么类型存什么类型,相反的当用户输入也需要输入字符串类型,给用户带来不便
2.2:格式化输出
2.2.1:设定换行
/r(切换到行首) /n (换行) 或者可以设定end=’ ’
例:
print("1111")
print("2222")
>>>1111
2222
print("1111",end='')
print("2222")
>>>11112222
2.2.2: 指定打印格式
有时用户输入信息,打印输出时需要指定一个格式:
可以用占位符%s %d
案例1:
msg = "my name is %s my age is %s" % ("egon","18")
print(msg)
>>>my name is egon my age is 18
或者直接简化:
print("my name is %s my egon is &s" % ("egon","18")
>>>my name is egon my age is 18
#首行将"egon","18"变量命名到前面的%s,”s"代表接收(str字符串),如果是一个值用s,两个值用()
#%S可以接收字符串也可以接收数字
案列2:
print("my name is %s ,my age is %d" % ("egon",18))
>>>my name is egon ,my age is 18
#%d只能接收数字,当变量值的18打“ ”,则报错
案例3:
name = input("your name:")
age = input("your age:")
print("my name is %s my age is %s" % (name,age))
>>>your name:age
your age:18
my name is age my age is 18
#用户根据提示输入姓名年龄后格式化打印输出