C语言支配语句

控制语句

1.  控制语句简介

  控制语句是用来改变程序执行的逐条。程序选用控制语句有规则地实施语句,循环地实施语句或者跳转到程序中的其余一些举办语句。

  Python支持三种不一样的支配语句:if,for和while,不帮助C语言中的switch语句。

 

1.1  if 语句

  编程时常常须求检讨一层层条件,并为此决定动用怎么样艺术。在Python中,if语句让您可见检查程序的近年来意况,并由此选取对应的法子。Python中的if语句的语法根java中的表示有点小小的的区分。java中实施语句块须求用大括号括起来,而Python中是在if表明式后加冒号。

  注意:一个if 语句可以有多少个 eli f部分,可是,只可以有一个else 。

 

1.1.1 简单的 if 语句

  最简易的 if 语句唯有一个原则和一个实践的语句块。其语法格式如下:

  if 表达式 :

    语句块

  以上 if 语句
只有表明式的值为真,才会履行语句块,否则,忽略语句块,什么也不操作。

  例如,提醒用户输入多个值,倘若同样,则输出它们。

1 a = input("a:")
2 b = input("b:")
3 if a == b:
4     print("a的值和b的值相等,都等于",a,"。")

  

  结果如下:

1 a:20
2 b:20
3 a的值和b的值相等,都等于 20 。

 

1.1.2 if – else 语句

 很多意况下,大家在中文中都会说,如若…就…
,否则就…。其语法格式如下所示:

  if 表达式 :

    语句块1

  else :

        语句块2

  以上 if 语句,假使 表明式为真,则举行语句块1,否则,则履行语句块2。

  例如,大家将用户名和密码存在变量中,然后按照用户输入的用户名和密码判断是或不是正确,并打印相应提醒音讯。

1 _username = 'Yun'
2 _password = 'abc123'
3 username = input("username:")
4 password = input("password:")
5 if _username == username and _password == password:
6     print("Welcome user {name} loging...".format(name=username))
7 else:
8     print("Invalid username or password")

   

  输入的用户名和密码正确时,运行结果如下:

1 username:Yun
2 password:abc123
3 Welcome user Yun loging...

  

  输入的用户名和密码不得法时,运行结果如下:

1 username:Yun
2 password:123abc
3 Invalid username or password

 

1.1.3 if – elif – else 语句

  许多场馆下,大家须要看清的意况不断二种,为此可以动用Python提供的if –
elif – else 语句。其语法格式如下所示:

  if 表达式 1:

   语句块1

      elif  表达式 2 :

      语句块2

  else :

       语句块3

  以上 if
语句,若是表明式1为真,则实施语句块1;否则一经发挥式2为真,则进行语句块2;否则,则履行语句块3。

  例如,我们输入a和b四个整数,然后判断a、b的深浅,输入最大值。

  代码1:

1 a = input("a:")
2 b = input("b:")
3 if a > b :
4     print("你输入的最大值为",a,"。")
5 elif b > a:
6     print("你输入的最大值为",b,"。")
7 else:
8     print("你输入的a的值和b的值相等。")

  

  (1)当大家输入的值都是整数时:

1 a:10
2 b:20
3 你输入的最大值为 20 。

 

  (2)当我们输入的值有一个为字符时:

1 a:10
2 b:abc
3 你输入的最大值为 abc 。

 

  表达:在数据类型的介绍中,我们精晓,python会将输入的平头当做字符串。所以我们要求用int()函数将输入的平头强行转换为整数,然后才能同日而语整数使用。

当大家输入的a和b都是整数时,不用int()转换,其结果跟整数相比较的结果一致,但是,若是输入的不是整数时,代码照旧可以运作,但是不是大家想要的整数相比较,而是字符串相比较。

  因而,为了幸免输入错误导致不必要的结果,大家应有将输入的值强行转换为整型,这样,当大家输入的不是整数时,就会报分外,大家就知道自己输入的多寡不知足必要。那也是写代码养成杰出的习惯的底细突显。

  

  代码2:

1 a = int(input("a:"))
2 b = int(input("b:"))
3 if a > b :
4     print("你输入的最大值为",a,"。")
5 elif b > a:
6     print("你输入的最大值为",b,"。")
7 else:
8     print("你输入的a的值和b的值相等。")

  

  (1)当大家输入的值是字符时:

1 a:10
2 b:abc
3 Traceback (most recent call last):
4   File "F:/PyProject/s14/day1/if.py", line 21, in <module>
5     b = int(input("b:"))
6 ValueError: invalid literal for int() with base 10: 'abc'

 

  (2)当大家输入的值是浮点数时:

1 a:10
2 b:20.10
3 Traceback (most recent call last):
4   File "F:/PyProject/s14/day1/if.py", line 21, in <module>
5     b = int(input("b:"))
6 ValueError: invalid literal for int() with base 10: '20.10'

 

  (3)当大家多少的都是整数时,分为三种情景输出一下。

  • a 小于 b的情况:

    1 a:10
    2 b:20
    3 你输入的最大值为 20 。

 

  • a 大于b的情况:

    1 a:30
    2 b:10
    3 你输入的最大值为 30 。

  • a等于b的情况:

    1 a:10
    2 b:10
    3 你输入的a的值和b的值万分。

 

1.1.4 多个elif代码块

  if 表达式 1:

     语句块1

      elif  表达式 2 :

        语句块2

  ……

      elif 表达式 n:

       语句块n

  else :

       语句块n+1

  以上 if
语句,如若表明式1为真,则举办语句块1;否则一旦发挥式2为真,则履行语句块2;否则假若表明式N为真,则执行语句块N;否则,则实施语句块n+1。

  例如,大家输入一个学生的姓名、学号即战表,然后按照学生分数来划分成绩等级:优、良、中、差、不及格,即,大于等于90分为A;大于等于80分为B;大于等于70分C;大于等于60分为D;小于60分为F。

  代码:

 1 student_name = input("请输入学生的姓名:")
 2 student_no = input("请输入学生的学号:")
 3 student_score = input("请输入该学生的成绩:")
 4 if student_score >= '90' :
 5     grade = "A"
 6 elif student_score >= '80':
 7     grade = "B"
 8 elif student_score >= '70':
 9     grade = "C"
10 elif student_score >= '60':
11     grade = "D"
12 else:
13     grade = "F"
14 print(student_name,student_no,grade)
15 
16 if grade == "F":
17     print("亲爱的",student_name,"该努力了!")
18 else:
19     print("亲爱的",student_name,"恭喜过关,再接再厉!")

  

  (1)成绩为99分:

1 请输入学生的姓名:Yun Qtian
2 请输入学生的学号:S100001
3 请输入该学生的成绩:99
4 Yun Qtian S100001 A
5 亲爱的 Yun Qtian 恭喜过关,再接再厉!

  

  (2)成绩为87分:

1 请输入学生的姓名:Yun Qtian
2 请输入学生的学号:S1000001
3 请输入该学生的成绩:87
4 Yun Qtian S1000001 B
5 亲爱的 Yun Qtian 恭喜过关,再接再厉!

  (3)成绩为76分:

1 请输入学生的姓名:Yun Qtian
2 请输入学生的学号:S1000001
3 请输入该学生的成绩:76
4 Yun Qtian S1000001 C
5 亲爱的 Yun Qtian 该努力了! 

  (4)成绩为60分:

1 请输入学生的姓名:Yun Qtian
2 请输入学生的学号:S1000001
3 请输入该学生的成绩:60
4 Yun Qtian S1000001 D
5 亲爱的 Yun Qtian 恭喜过关,再接再厉! 

  (5)成绩为56分:

1 请输入学生的姓名:Yun Qtian
2 请输入学生的学号:S1000001
3 请输入该学生的成绩:56
4 Yun Qtian S1000001 F
5 亲爱的 Yun Qtian 该努力了! 

 

1.1.5  省略 else 代码块

  在Python代码中,一个 if 语句不可能带有八个else 代码块
,不过足以省略else代码块。

  例如,大家将上一节中的例子中的代码里面的else省略后,改为 用 elif
代替它。

  代码:

 1 student_name = input("请输入学生的姓名:")
 2 student_no = input("请输入学生的学号:")
 3 student_score = input("请输入该学生的成绩:")
 4 if student_score >= '90' :
 5     grade = "A"
 6 elif student_score >= '80':
 7     grade = "B"
 8 elif student_score >= '70':
 9     grade = "C"
10 elif student_score >= '60':
11     grade = "D"
12 elif student_score < '60'
13     grade = "F"
14 print(student_name,student_no,grade)
15 
16 if grade == "F":
17     print("亲爱的",student_name,"该努力了!")
18 else:
19     print("亲爱的",student_name,"恭喜过关,再接再厉!")

  

 

(1)成绩为99分:

1 请输入学生的姓名:Yun Qtian
2 请输入学生的学号:S100001
3 请输入该学生的成绩:99
4 Yun Qtian S100001 A
5 亲爱的 Yun Qtian 恭喜过关,再接再厉!

  

  (2)成绩为87分:

1 请输入学生的姓名:Yun Qtian
2 请输入学生的学号:S1000001
3 请输入该学生的成绩:87
4 Yun Qtian S1000001 B
5 亲爱的 Yun Qtian 恭喜过关,再接再厉!

  (3)成绩为76分:

1 请输入学生的姓名:Yun Qtian
2 请输入学生的学号:S1000001
3 请输入该学生的成绩:76
4 Yun Qtian S1000001 C
5 亲爱的 Yun Qtian 该努力了! 

  (4)成绩为60分:

1 请输入学生的姓名:Yun Qtian
2 请输入学生的学号:S1000001
3 请输入该学生的成绩:60
4 Yun Qtian S1000001 D
5 亲爱的 Yun Qtian 恭喜过关,再接再厉! 

  (5)成绩为56分:

1 请输入学生的姓名:Yun Qtian
2 请输入学生的学号:S1000001
3 请输入该学生的成绩:56
4 Yun Qtian S1000001 F
5 亲爱的 Yun Qtian 该努力了!  

  

  从以上运行结果来看,跟上一节中的完全一致。就算那有编制Python解释器也扶助,可是为了更规范,也让学习过其余语言的恋人更好的精晓Python代码,尽量有限支撑一如既往的编程风格。

 

1.1.6 多个 if 条件

  在Python,尽管 if-elif-else
结构功用强大,但仅适用于唯有一个原则满意的气象,因为一旦前方的原则知足后,后边的尺度就会跳过。这种作为很好,成效很高,让你能测试一个特定的标准化。

  然后,有时大家须要检查有着标准。在那种状态下,就应当使用多少个不包蕴elif 和 else 代码块的概括 if
语句。在可能有多个原则为True,且你要求在各样条件为True时都应用对应的主意时,适合利用那种方法。

   例如,在一个比萨店中,若是顾客点了两种配料,就要求确保在其比萨中隐含那几个配料:

  代码:

1 requested_toppings = ['mushrooms','extra cheese']
2 
3 if 'mushrooms' in requested_toppings:
4     print("Adding mushrooms.")
5 if 'pepperoni' in requested_toppings:
6     print("Adding pepperoni.")
7 if 'extra cheese' in requested_toppings:
8     print("Adding extra cheese.")
9 print("\nFinished making your pizza!")

 

  运行结果如下:

1 Adding mushrooms.
2 Adding extra cheese.
3 
4 Finished making your pizza!

 

1.2  while 语句

   在java 中,while
语句的表明式用括号括起来,循环体用大括号括起来,但在Python中,while
语句的表达式不需求用括号括起来,循环体也不须要用大括号括起来,而是在表明式后用冒号即可。

  while 语句条件为真时,while语句再度执行语句块。在Python 中的 while
语句的要旨语法为:

  while 表达式 :

        循环体

  首先,while 语句总结表达式,它将回到一个boolean 值(true 或者
false)。借使表达式返回true,则举办循环体中的语句。然后,while
语句继续测试表明式来规定是或不是推行循环体,直到表明式重临false。

  例如,用while循环打印0到5:

1 count = 0
2 while count < 5:
3     print(count)
4     count += 1

 

  运行结果如下:

1 0
2 1
3 2
4 3
5 4

 

1.3 for 语句

   for 语句提供了一个更便利、灵活的章程来拓展巡回。在Python中,for
语句的语法 如下所示:

   for  变量 in  对象:
 

    循环体  

  例如,循环打印0到5 的数目:

1 count = 1
2 for i in range(0,5):
3    print("第",count,"个数是:",i)
4    count += 1

 

  运行结果如下:

1 第 1 个数是: 0
2 第 2 个数是: 1
3 第 3 个数是: 2
4 第 4 个数是: 3
5 第 5 个数是: 4

 

1.4  跳转语句

  Python 语言有二种跳转语句:

  (1)break 语句。跳出循环。

  (2)continue 语句。跳出这次巡回,继续下几回巡回。

1.4.1  break 语句

  要及时退出 while 循环或者 for
循环,不再运行循环中剩下的代码,也不论条件测试的结果如何,可应用 break
 语句。break
语句用于控制程序流程,可利用它控制什么代码行将执行,哪些代码行不执行,从而让程序按您的渴求实施你要履行的代码。

  例如,大家循环打印数据,每一遍加1,直到大家要求退出时为止循环。

  代码:

1 count = 0
2 while   True:
3     print("count:",count)
4     count += 1
5     if count == 5:
6         break

 

  运行结果如下:

1 count: 0
2 count: 1
3 count: 2
4 count: 3
5 count: 4

 

1.4.2  continue 语句

  在循环中,如若要回来到循环起来,并依照规则测试结果决定
是不是继续执行循环,可采纳continue语句,它不像break语句那样不再执行余下的代码并脱离整个循环。

  例如,大家来看一个从1数到10,但只打印其中的奇数的巡回。

  代码:

1 count = 0
2 while count < 10:
3     count += 1
4     if count % 2 == 0:
5         continue
6     print(count)

 

  运行结果如下:

1 1
2 3
3 5
4 7
5 9