Python if else for while 语句控制 [整理] -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【meiwen.anslib.com - 电脑资料】

    Python if else语句

    if 语句是用来检查一个条件:如果条件为真(true),我们运行一个语句块(你为if块),否则(else),我们执行另一个语句块(称为else块),

Python if else for while 语句控制 [整理]

。else子语句是可选的。

    例如(保存为 if.py):

    number = 23

    guess = 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 math

    for i in range(50, 100 + 1):

    for j in range(2, int(math.sqrt(i)) + 1):

    if i % j == 0:

    break

    else:

    print i

    #第二个:把else的位置与if处于同一缩进,

电脑资料

Python if else for while 语句控制 [整理]》(http://meiwen.anslib.com)。

    import math

    for i in range(50, 100 + 1):

    for j in range(2, int(math.sqrt(i)) + 1):

    if i % j == 0:

    break

    else:

    print i

    #第三个:在else后加一个break语句。

    import math

    for i in range(50, 100 + 1):

    for j in range(2, int(math.sqrt(i)) + 1):

    if i % j == 0:

    break

    else:

    print i

    break

    ###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位于同一缩进的话,它是怎样运行的。

    你解释得很详细,用‘茅塞顿开'来形容一点都不过分。

    而且,我必觉得画图是理解循环一个非常好的办法。

最新文章