1.5 Python基础知识

  在我们生活中有很多反复要做的事情,或者动作,我们称之为循环。在开发程序中也会有循环的事情要去做,就是需要反复的去执行某个代码,或者反复进行某种演算,直到达到某种条件的时候才会停止。在Python中我们使用的是while循环。

  伪代码:

   条件成立:

    执行循环体

  直到条件不成立

  代码格式:

while ...:
    ...

  示例代码:

n = 0

while n < 10:
        n = n + 1
        # 或者 n += 1
        print(n)

# 执行结果

1
2
3
4
5
6
7
8
9
10

  在示例代码中,我们将n赋值初始值为0,在while循环体对n进行自增操作,直到n<10不成立,即n大于10,才结束循环。在循环中,我们要注意一定要有结束条件,不要造成无限循环,即死循环。

  下面我们再看一个猜数字代码示例:

number = 47

while True:
    guess_number = input("请输入你要猜的数字:")

    # 因为通过input接收到参数是字符串,我们需要将字符串转换成数字,才可以进行比较操作
    guess_number = int(guess_number)

    if guess_number == number:
        print("恭喜你猜对了!")
        break
    elif guess_number > number:
        print("猜的太大了!")
    else:
        print("猜的太小了!")

  在猜数字示例代码中,我们将变量number赋值数字47,这里的循环内容是反复询问用户输入数字,进行比较,循环结束条件是:guess_number等于number,而跳出循环是由循环控制词break进行控制。在循环中控制循环的词除了break还有continue。break,是跳出整个循环,continue,是结束当前循环,继续执行下面的循环内容。

  continue示例:

n = 0

while n<10:
    n += 1
    if n == 6:
        continue
    print(n)

# 执行结果

1
2
3
4
5
7
8
9
10

  在这个示例中,可以看出来,循环体对n不断进行自增操作,并打印出n的数值,当n等于6的时候,遇到了continue,跳出了当前的循环,没有打印出来,继续执行剩下的循环内容,直到条件不满足。

  猜数字我们可以修改一下,在一定次数内才可以猜到,限制猜的次数。

number = 47
count = 0 
while count < 3:
    guess_number = input("请输入你要猜的数字:")
    guess_number = int(guess_number)

    if guess_number == number:
        print("恭喜你猜对了!")
        break
    elif guess_number > number:
        print("猜的太大了!")
    else:
        print("猜的太小了!")

    count +=1

  我们再增加一个条件,当猜的次数到达3次,退出循环,并告知退出原因。

number = 47
count = 0
while count < 3:
    guess_number = input("请输入你要猜的数字:")
    guess_number = int(guess_number)

    if guess_number == number:
        print("恭喜你猜对了!")
        break
    elif guess_number > number:
        print("猜的太大了!")
    else:
        print("猜的太小了!")

    count +=1

else:
    print("抱歉!你猜的次数太多了!")

  这里我们只是增加了else代码块,这里的意思是当while中的循环,正常循环完毕,while的循环条件不成立,(即count大于等于0),没有经过break而结束,才会执行的代码块!

  现在我们修改一下需求,当猜的次数达到3次的时候,我们询问用户是否继续,按‘n’退出,按任意键继续。请看示例:

number = 47
count = 0
while count < 3:
    guess_number = input("请输入你要猜的数字:")
    guess_number = int(guess_number)
    if guess_number == number:
        print("恭喜你猜对了!")
        break
    elif guess_number > number:
        print("猜的太大了!")
    else:
        print("猜的太小了!")
    count += 1
    if count == 3:
        is_contin = input("是否继续?如果要退出,请输入‘n’。")
        if is_contin != 'n':
            count = 0

  我们可以看到当每次循环3次,并且没有猜到的时候,程序就会询问用户,是否继续?如果输入的是‘n’,程序就会退出!

  while我们暂时学到这里!

原文地址:https://www.cnblogs.com/topspeedking/p/6399412.html