您的位置:首页 > 编程语言 > Python开发

Python if else for while 语句控制 【整理】

2015-12-08 20:35 323 查看
Python if else语句if 语句是用来检查一个条件:如果条件为真(true),我们运行一个语句块(你为if块),否则(else),我们执行另一个语句块(称为else块)。else子语句是可选的。例如(保存为 if.py):number = 23guess = int(input(‘请输入一个整数:’)) #等待输入整数if guess == number:print('恭喜,你猜对了。') # 新块从这里开始print('(但你没有获得任何奖品!)') # 新块在这里结束elif guess < number:print('不对,你猜的有点儿小') # 另一个块else:print('不对,你猜的有点大')print('完成')# if语句执行完后,最后的语句总是被执行输出可能有以下三种情况:请输入一个整数:50不对,你猜的有点儿大完成请输入一个整数:22不对,你猜的有点儿小完成请输入一个整数:23恭喜,你猜对了。(但你没有获得任何奖品!)完成在这个程序中,我们获取来自用户的猜测,并检查这个数是否是我们设定的数。我们给变量number设置我们想要的任何整数,比如 23。然后,我们使用input() 函数获取用户的猜的数。函数是可重用的程序块。我们在本章后面几节中会介绍关于它们的更多东西。我们给内置的input 函数提供一个字符串,该函数将其打印到屏幕上并等待用户输入。一旦我们输入一些东西并按下enter键,input()函数把我们的输入作为一个字符串返回。然后,我们使用int将这个字符串转换为整数,然后将其存储在变量guess中。实际上,int 是一个类,但现在所有你需要知道的是,您可以使用它来将一个字符串转变为一个整数(假设文本中的字符串包含一个有效的整数)。接下来,我们比较用户猜的数和我们选择的数,如果他们相等,我们打印一条成功的消息。注意,我们使用缩进级别告诉Python语句属于哪个块。这就是为什么缩进P在ython中是如此重要。我希望你坚持"一致的缩进"的规则,好吗?注意,if语句在最后有一个冒号——我们指示Python一个语句块将跟随其后。然后,我们检查猜的数是否小于这个数字,如果是,我们通知用户,他们猜的数必须比那个数稍高。我们这里使用的是“elif”子句,实际上将两个相关的 if else-if else语句组合为一个语句if-elif-else,这使程序更简单且减少所需要的缩进。elif和else语句也必须在逻辑行结束时有一个冒号,后跟相应的语句块(当然要通过适当的缩进)。你可以在if语句的if块中有另一个if语句——这称为if语句嵌套。记住,elif 和else部分是可选的。一个最小的有效的if语句是: python if True: print(是的,它为真)在Python执行完成完整的if语句以及相关的elif和else子句,它移动到if包含语句的块中下一个语句块。在本例中,它是主要的块(程序开始执行的地方),接下来的语句是 print(完成)。在这之后,Python将看到程序的结尾,并简单的完成。尽管这是一个非常简单的程序,但你应该注意,我已经指出很多东西。所有这些都是相当的直截了当(对那些有c/c++背景的人是惊人的简单)。最初,你需要意识到所有这些事情,但经过一些练习,对它们你将感到舒服,自然将是你所有的感觉。关于Python中的for循环控制语句#第一个:求50 - 100 之间的质数import mathfor i in range(50, 100 + 1):for j in range(2, int(math.sqrt(i)) + 1):if i % j == 0:breakelse:print i #第二个:把else的位置与if处于同一缩进。import mathfor i in range(50, 100 + 1):for j in range(2, int(math.sqrt(i)) + 1):if i % j == 0:breakelse:print i #第三个:在else后加一个break语句。import mathfor i in range(50, 100 + 1):for j in range(2, int(math.sqrt(i)) + 1):if i % j == 0:breakelse:print ibreak ###idea###for语句是python中的循环控制语句。可用来遍历某一对象,还具有一个附带的可选的else块,主要用于处理for语句中包含的break语句。如果for循环未被break终止,则执行else块中的语句。break 在需要时终止for循环continue 跳过位于其后的语句,开始下一轮循环。for语句的格式如下:>>>for <> in <对象集合>:... if <条件>:...break... if <条件>:...continue... <其他语句>...else:... <>... #关于第一个程序在这里,我解释一下为何导入math模块:导入math模块就是为了开方。如果导入了math模块,然后对 i 进行开方,可以减少运算次数。求一个数是否质数。只需对它进行这样的运算:将这个数n,循环与 2 到这个n的开平方进行相除如果这个区间内的所有整数不能整除n,则n为质数。这样,就节省了运算 ‘大于n的开平方小于n’ 之间这段运算的时间。第二,我解释一下那‘+1’:int(math.sqrt(i)) 输出的是比i的开平方小的最大整数。比如说:math.sqrt(51)结果比7大一点,而int(math.sqrt(51)) 输出的是7而且在range(m, n)这里,range()函数产生的是一个从 m至n-1的整数列表,因而需要‘+1’,使运算完整。 顺便提一下range()函数。 range([start,] stop [, step]) # start 可选参数,起始数 #stop 终止数,如果 range 只有一个参数x,则产生一个包含0 至 x-1 的整数列表 #step 可选参数,步长 #第二个程序else那行不对,如果else放在那个地方的话,一旦有某个数遇到不能整除自己的数,就会输出i,直道找到一个整除自己等于0的数。那样就会连续输出这个数。例如:i = 77,他不是质数,但是也会连续输出5次77,懂不? 只不过,只是自己不明白当else与if位于同一缩进的话,它是怎样运行的。你解释得很详细,用‘茅塞顿开'来形容一点都不过分。而且,我必觉得画图是理解循环一个非常好的办法。

Python While循环语句

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
while判断条件:
执行语句……
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。当判断条件假false时,循环结束。执行流程图如下:实例:
#!/usr/bin/python
count =0
while(count <9):
print'The count is:', count
count = count +1
print"Good bye!"
以上代码执行输出结果:
The count is:0
The count is:1
The count is:2
The count is:3
The count is:4
The count is:5
The count is:6
The count is:7
The count is:8
Good bye!
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:
# continue 和 break 用法
i =1
while i <10:
i +=1
if i%2>0:     # 非双数时跳过输出
continue
print i         # 输出双数2、4、6、8、10
i =1
while1:            # 循环条件为1必定成立
print i         # 输出1~10
i +=1
if i >10:     # 当i大于10时跳出循环
break

无限循环

如果条件判断语句永远为 true,循环将会无限的执行下去,如下实例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
var=1
whilevar==1:  # 该条件永远为true,循环将无限执行下去
num = raw_input("Enter a number  :")
print"You entered: ", num
print"Good bye!"
以上实例输出结果:
Enter a number  :20
You entered:  20
Enter a number  :29
You entered:  29
Enter a number  :3
You entered:  3
Enter a number between :Traceback(most recent call last):
File"test.py", line 5,in<module>
num = raw_input("Enter a number :")
KeyboardInterrupt
注意:以上的无限循环你可以使用 CTRL+C 来中断循环。

循环使用 else 语句

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
#!/usr/bin/python
count =0
while count <5:
print count," is  less than 5"
count = count +1
else:
print count," is not less than 5"
以上实例输出结果为:
0is less than 5
1is less than 5
2is less than 5
3is less than 5
4is less than 5
5isnot less than 5

简单语句组

类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中,如下所示:
#!/usr/bin/python
flag =1
while(flag):print'Given flag is really true!'
print"Good bye!"
注意:以上的无限循环你可以使用 CTRL+C 来中断循环。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python if else for