程序设计中的控制语句有三种,即顺序、分支和循环语句
简而言之,无非是if while for break continue return
这部分即是核心又很简单,所以多贴代码
注:后面会看到与c/c++相比,python用的()较少,一般定义控制语句和函数,类都大量使用:
4.1输入输出
为了叙述方便这里介绍输入输出语句,以代码形式描述
4.1.1读取键盘输入
Python提供了 input() 置函数从标准输入读入一行文本,默认的标准输入是键盘。
input 可以接收一个Python表达式作为输入,并将运算结果返回。
str = input("请输入:")
print(type(str))
print ("你输入的内容是: ", str)
# 输出
请输入:123
<class 'str'>
你输入的内容是: 123
Process finished with exit code 0
4.1.2输出到屏幕
通过print函数将字符串输出控制台,类似于C中的printf函数。print函数语法如下:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
print函数有五个参数,*objects是可变长度的对象参数;sep是分隔符参数,默认值是一个空格;end是输出字符串之后的结束符号,默认值换号符;file是输出文件参数,默认值sys.stdout是标准输出,即控制台;flush是否刷新文件输出流缓冲区,默认值不刷新。
print(1,2,3,sep='#',end='*\n')
#输出
1#2#3*
[Finished in 0.2s]
4.2分支语句
就是if语句一堆的,不多说了
str = input("请输入:")
grade = int(str)
if grade>=90:
print ("A")
elif grade>=80:
print ("B")
elif grade>=70:
print ("C")
elif grade>=60:
print ("D")
else:
print("小菜鸡")
#输出
请输入:55
小菜鸡
Process finished with exit code 0
4.3循环语句
Python支持两种循环构造类型:while和for(含有else时略有不同,注意),关于break,return,continue没什么特别的,就不多说了。
4.3.1 while
i=0
while i*i<100_000:
i+=1 #注意python中没有自加自减的运算符号
else: #相比多了个else,跳出循环时执行,也可以不写,
#本来就顺序执行
print(i) #continue,break后面for语句举例,类似
print("end")
#输出
317
end
[Finished in 0.3s]
注: 为了阅读方便,整数和浮点数均可添加多个0或下划线以提高可读性,如000.01563和_360_000,两种格式均不会影响实际值。下划线一般是每三位加一个。
4.3.2 for
for语句是应用最广泛、功能最强的一种循环语句。Python语言中没有C语言风格的for语句,它的for语句相等于Java中增强for循环语句,只用于对序列,序列包括字符串、列表和元组进行遍历。
即为 for XX in XXX: 而非 (for(..;…;;..)形式)
# for i in 'Genius':
# list =[1,8,9,3]
# for i in list:
for i in range(1,10):
if(i==9):
break;
if i%2==0:
continue
else:
print(i)
else:
print("end for") #理解执行顺序
print("end")
#输出
1
3
5
7
end
[Finished in 0.3s]
注:关于用到的数据结构,先假装知道
关于range的使用
范围在Python中类型是range,表示一个整数序列,创建范围对象使用range()函数,range()函数语法如下:
range([start,] stop[, step])
三个参数全部是整数类型,其中start是开始值,可以省略,表示从0开始;stop是结束值;step是步长。注意start ≤ 整数序列取值 < stop,步长step可以为负数,可以创建递减序列
for i in range(1,10,3):
print(i)
else:
print("end for")
print("--------------------")
for i in range(1,-10,-3):
print(i)
else:
print("end for")
print("end")
#输出
1
4
7
end for
--------------------
1
-2
-5
-8
end for
end
[Finished in 0.2s]
注:当条件不符合时,并不会存在序列,如下
for i in range(1,10,-3):
print(i)
else:
print("end for")
print("end")
#输出
end for
end
[Finished in 0.2s]