Python基础(五、掌握for循环、range、break和continue用法,猜数游戏)

Python基础(五、掌握for、range、break和continue用法,猜数游戏)

  • 一、for用法
  • 二、range用法
  • 三、break用法
  • 四、continue用法
  • 五、小练习
    • 1.九九乘法表
    • 2.猜数字小游戏

一、for用法

for 循环用于遍历迭代对象(如列表、字符串、元组等)中的元素,并按顺序依次执行相应的代码块。它的语法结构如下:

for 变量 in 迭代对象:

在每次循环迭代时,将会将迭代对象中的一个元素赋值给变量,然后执行相应的代码块。当所有元素都被遍历完毕后,循环结束。

以下是一个简单的示例,演示了如何使用 for 循环遍历一个列表并打印每个元素:

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

输出:

apple
banana
cherry

在每次循环迭代时,fruit 变量分别被赋值为 “apple”、“banana” 和 “cherry”,然后将其打印出来。

需要注意的是,在 for 循环的代码块中,可以执行任意的操作,包括条件判断、函数调用、赋值等等。
for 循环提供了一种方便的方式来对迭代对象进行逐个处理。

二、range用法

range 函数可以接受一个、两个或三个参数,具体取决于你想要创建的整数序列的特定需求。

如果只传递一个参数,那么它将被视为结束值,并且起始值默认为 0,步长默认为 1。例如:range(5) 将生成从 0 到 4 的整数序列。

for i in range(5):
    print(i)

输出:

0
1
2
3
4

如果传递两个参数,第一个参数将被视为起始值,第二个参数将被视为结束值(不包括在序列中),步长仍然默认为 1。例如:range(2, 8) 将生成从 2 到 7 的整数序列。

for i in range(2, 8):
    print(i)

输出:

2
3
4
5
6
7

如果传递三个参数,第一个参数为起始值,第二个参数为结束值(不包括在序列中),第三个参数为步长。例如:range(1, 10, 2) 将生成从 1 开始,每次增加 2,直到小于 10 的整数序列。

for i in range(1, 10, 2):
    print(i)

输出:

1
3
5
7
9

三、break用法

break 是一种控制流语句,用于终止循环的执行。当程序执行到 break 语句时,它会立即退出最内层的循环,并将程序的执行流程转移到循环之后的下一条语句。

break 通常与循环语句(如 for 循环或 while 循环)一起使用,以提前跳出循环。下面是一些使用 break 的常见用法:

结束循环:break 可以用于提前结束一个循环,即使循环条件尚未满足。这在需要根据某个条件来中断循环时非常有用。例如:

for i in range(1, 10):
    if i == 5:
        break
    print(i)

输出:

1
2
3
4

在上面的例子中,当 i 的值等于 5 时,break 语句被执行,循环立即终止,因此只打印了 1 到 4。

中断无限循环:break 还可以用于中断无限循环(即没有自然结束条件的循环)。通过在循环体内添加判断条件,可以在满足某个条件时使用 break 语句来终止循环。例如:

while True:
    response = input("请输入:")
    if response == 'quit':
        break
    print("你输入的是:" + response)

这个示例中,程序会一直等待用户输入,直到用户输入 “quit” 才会终止循环。

跳出嵌套循环:break 还可以用于跳出多层嵌套的循环。当我们需要在满足某个条件时跳出多层循环时,可以使用 break 语句。例如:

for i in range(1, 4):
    for j in range(1, 4):
        if i * j > 4:
            break
        print(i * j)

输出:

1
2
3
2
4
3

在上面的例子中,当 i * j 的值大于 4 时,内部循环会被终止,但外部循环仍然会继续执行。

需要注意的是,在使用 break 语句时,我们必须确保它只在必要的情况下被执行,否则可能会导致意外的行为或逻辑错误。此外,break 只能用于循环语句中,不能用于其他地方(如函数或条件语句)。

总结起来,break 是 Python 中用于终止循环的关键字。它可以在满足某个条件时提前跳出循环,或者用于中断无限循环和跳出嵌套循环。合理使用 break 可以使代码更加灵活和高效。

四、continue用法

continue 是一种控制流语句,用于跳过当前循环中剩余的代码,直接进入下一次循环的执行。当程序执行到 continue 语句时,会立即停止当前迭代的执行,并将执行流程转移到循环的下一次迭代

continue 通常与循环语句(如 for 循环或 while 循环)一起使用,以跳过某些特定条件下的代码。下面是一些使用 continue 的常见用法:

跳过特定值:continue 可以用于跳过某些特定值的处理,只执行其他值的操作。例如:

for i in range(1, 6):
    if i == 3:
        continue
    print(i)

输出:

1
2
4
5

在上面的例子中,当 i 的值等于 3 时,continue 语句被执行,当前迭代的执行被跳过,直接进入下一次迭代。

跳过后续代码:continue 还可以用于跳过当前循环中剩余的代码,直接进入下一次循环。这在需要根据某个条件跳过部分代码时非常有用。例如:

for i in range(1, 6):
    if i % 2 == 0:
        continue
    print(i)
    print("这是奇数")

输出:

1
这是奇数
3
这是奇数
5
这是奇数

在上面的例子中,当 i 的值为偶数时,continue 语句会跳过后续的代码,直接进入下一次循环。

跳过多层嵌套循环:continue 还可以用于跳过多层嵌套循环中的一次迭代,进入下一次迭代。当我们需要在满足某个条件时跳过当前迭代,并继续执行下一次迭代时,可以使用 continue 语句。例如:

for i in range(1, 4):
    for j in range(1, 4):
        if i == j:
            continue
        print(i, j)

输出:

1 2
1 3
2 1
2 3
3 1
3 2

在上面的例子中,当 i 和 j 的值相等时,continue 语句会跳过当前迭代,进入下一次迭代。

需要注意的是,在使用 continue 语句时,我们必须确保它只在必要的情况下被执行,否则可能会导致意外的行为或逻辑错误。此外,continue 只能用于循环语句中,不能用于其他地方(如函数或条件语句)。

总结起来,**continue 是 Python 中用于跳过当前迭代,进入下一次迭代的关键字。**它可以用于跳过特定值的处理、跳过后续代码和跳过多层嵌套循环中的一次迭代。合理使用 continue 可以使代码更加灵活和高效。

五、小练习

1.九九乘法表

这里我使用了while,也可以使用for完成的,请动手尝试吧~

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{i}*{j}={i*j} ",end="")
        j+=1
    i+=1
    print("\t")

输出:

1*1=1 	
2*1=2 2*2=4 	
3*1=3 3*2=6 3*3=9 	
4*1=4 4*2=8 4*3=12 4*4=16 	
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 	
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 	
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 	
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 	
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 	

2.猜数字小游戏

import random

target_number = random.randint(1, 100)
guess_count = 5

for i in range(guess_count):
    guess = int(input("请输入一个整数(1~100):"))

    if guess == target_number:
        print("恭喜你,猜对了!")
        break
    elif guess < target_number:
        print("你猜的数字太小了。")
    else:
        print("你猜的数字太大了。")

    left_count = guess_count - (i + 1)
    if left_count == 0:
        print("很遗憾,你没有猜中。正确答案是 {}。".format(target_number))
        break
    elif left_count == 1:
        print("你还有最后一次机会!")
    else:
        print("你还有 {} 次机会。".format(left_count))

输出:

请输入一个整数(1~100):2
你猜的数字太小了。
你还有 4 次机会。
请输入一个整数(1~100):3
你猜的数字太小了。
你还有 3 次机会。
请输入一个整数(1~100):6
你猜的数字太小了。
你还有 2 次机会。
请输入一个整数(1~100):55
你猜的数字太大了。
你还有最后一次机会!
请输入一个整数(1~100):30
你猜的数字太小了。
很遗憾,你没有猜中。正确答案是 31。

如果不能理解random,也可以将target_number定义成一个固定的数字给其他小伙伴猜测。
这里的random是用来生成随机数的方法,后面会详细讲解。
不使用random的方法如下:

target_number = 22
guess_count = 5

for i in range(guess_count):
    guess = int(input("请输入一个整数(1~100):"))

    if guess == target_number:
        print("恭喜你,猜对了!")
        break
    elif guess < target_number:
        print("你猜的数字太小了。")
    else:
        print("你猜的数字太大了。")

    left_count = guess_count - (i + 1)
    if left_count == 0:
        print("很遗憾,你没有猜中。正确答案是 {}。".format(target_number))
        break
    elif left_count == 1:
        print("你还有最后一次机会!")
    else:
        print("你还有 {} 次机会。".format(left_count))

你可能感兴趣的:(python,python,后端,游戏,学习)