前言

本文承接上文

用户的交互

我们使用python从键盘输入的时候,这时需要使用python的input语法

例如:

name = input("What is your name?")
print("Hello " + name )

运行结果为

What is your name?(这时用户开始输入)张三
Hello 张三



这样我们就实现了接受从键盘输入的用户指令

(注)input接受的用户指令全是str类型的,这里如果用户想输入的命令一定要是int类型的,我们在使用input时就要进行数据类型的转换

例如:

age= int(input("What is your age?"))
print(age)
print(type(age))

运行结果为

What is your age?20
20
<class 'int'>

这时输入的20就不会作为str类型,而是int类型

格式化字符串

而当你输入字符串,而想实现一些格式的摆放时,这需要用到格式化字符串的操作了

在创建字符串时,可以在字符串中指定占位符:

  1. %s 在字符串中表示任意字符
  2. %f 浮点数占位符
  3. %d 整数占位符

例如:

name = input("Name:")
age = input("Age:")
job = input("Job:")
hobbie = input("Hobbie:")

info = '''
------------ info of %s -----------
Name : %s
Age : %s
job : %s
Hobbie: %s
------------- end -----------------
''' %(name,name,age,job,hobbie)

print(info)




运行结果为

Name:张三
Age:34
Job:Extrajudicial fanatics
Hobbie:crime

------------ info of 张三 -----------
Name : 张三
Age : 34
job : Extrajudicial fanatics
Hobbie: crime
------------- end -----------------

而这里的age是作为str输入的,而不是int,如果想使用int类型输入,需要进行类型转换,而%s也限定了只能匹配字符串,想在输入类型是int的同时,还能匹配上,这时就需要使用%d了

例如:

name = input("Name:")
age = int(input("Age:"))
job = input("Job:")
hobbie = input("Hobbie:")

info = '''
------------ info of %s -----------
Name : %s
Age : %d
job : %s
Hobbie: %s
------------- end -----------------
''' %(name,name,age,job,hobbie)

print(type(age))
print(info)

运行结果为

Name:张三
Age:34
Job:Extrajudicial fanatics
Hobbie:crime


<class 'int'>

------------ info of 张三 -----------
Name : 张三
Age : 34
job : Extrajudicial fanatics
Hobbie: Extrajudicial fanatics
------------- end -----------------

字符串的格式化就写到这里

布尔类型和空值

之前我们了解了整数型(int),浮点型(float),字符串(str),而在计算机世界里还有一种类型很值得我们注意就是布尔类型,它是用于计算机中逻辑判断

布尔值一共有两个 True 和 False

True表示真 False表示假

例如:

a = True
a = False

print('a =',a)

运行结果为

a = False

布尔值实际上也属于整型,True就相当于1,False就相当于0

print(1 + False)

运行结果为

1

None(空值)

None专门用来表示不存在

a=None
print(a)
print(type(a))

运行结果为

None
<class 'NoneType'>

空值有它自己的专属类型

流程控制

当我们已经学会了输入与输出的时候,我们这时候就需要知道python中的流程控制来满足我们完成一些

基础的小程序

而流程控制是什么呢?

假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪拐必然是有所动机的。你要判断那条岔路是你真正要走的路,如果我们想让程序也能处理这样的判断怎么办? 很简单,只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪条岔路。这个过程就叫流程控制。

在python中,流程控制分两种:判断语句,循环语句

判断语句:

  1. if语句
  2. if-else语句
  3. if-elif-else语句

循环语句

  1. while循环
  2. for循环

这里也先写判断语句,循环语句可能放到下一篇

if语句

if语句的语法如下:

if 条件表达式 : 

代码块

缩进

插入一个知识点

每个条件的下一行都缩进了4个空格(可能不明显,但是的确是缩进了4个空格的),这是为什么呢?这就是Python的一大特色,强制缩进,目的是为了让程序知道,每段代码依赖哪个条件.

(注)代码块:

代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
代码块就是一种为代码分组的机制
如果要编写代码块,语句就不能紧随在:后边,而是要写在下一行
代码块以缩进开始,直到代码恢复到之前的缩进级别时结束

执行的流程:if语句在执行时,会先对条件表达式进行求值判断,

如果为True,则执行if后的语句

如果为False,则不执行

流程图如下:

mark

默认情况下,if语句只会控制紧随其后的那条语句,如果希望if可以控制多条语句,

则可以在if后跟着一个代码块

例如:

age=int(input("请输入你的年龄:"))
if age>18:
print("你已经成年了")


运行结果为

请输入你的年龄:20
你已经成年了

这里20>18,条件成立,执行print语句,这就是最简单的if判断语句的示例

if-else语句

而if-else语句就是在if语句基础上的的扩展

if语句只能判断一次,属于单分支语句,而if-else和if-elif-else语句就已经属于多分支语句了

if-else语句

语法:

if 条件表达式 :

代码块

else :

代码块

执行流程:

if-else语句在执行时,先对if后的条件表达式进行求值判断

如果为True,则执行if后的代码块

如果为False,则执行else后的代码块

流程图如下:

mark

例如:

age=int(input("请输入你的年龄:"))
if age>18:
print("你已经成年了")
else:
print("你还没成年")

运行结果为

请输入你的年龄:20
你已经成年了


(而输入的是小于18的数字的时候)
请输入你的年龄:10
你还没成年

这个时候就可以去判断两种条件下的代码块.

if-elif-else

而if-elif-else语句则是在if-else语句上再进行了扩展,if-else可以判断两种而if-elif-else语句可以判断多种语句(没有上限,但是有下限,下限为3)

if-elif-else语句语法:

if 条件表达式 :

代码块

elif 条件表达式 :

代码块

elif 条件表达式 :

代码块

elif 条件表达式 :

代码块

else :

代码块

流程图:

mark

例如:


age=int(input("请输入你的年龄:"))


if age >= 18 and age < 30 :
print('你已经成年了!')
elif age >= 30 and age < 60 :
print('你已经中年了!')
elif age >= 60 :
print('你已经退休了!')

运行结果为

请输入你的年龄:30
你已经中年了!


请输入你的年龄:20
你已经成年了!


请输入你的年龄:65
你已经退休了!

这样就实现了多种条件下的判断.

本文到此结束,下文静等更新…(未完待续)

(下文更新while-else语句)

感谢你的阅读