for 循环用于遍历迭代对象(如列表、字符串、元组等)中的元素,并按顺序依次执行相应的代码块。它的语法结构如下:
for 变量 in 迭代对象:
在每次循环迭代时,将会将迭代对象中的一个元素赋值给变量,然后执行相应的代码块。当所有元素都被遍历完毕后,循环结束。
以下是一个简单的示例,演示了如何使用 for 循环遍历一个列表并打印每个元素:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
输出:
apple
banana
cherry
在每次循环迭代时,fruit 变量分别被赋值为 “apple”、“banana” 和 “cherry”,然后将其打印出来。
需要注意的是,在 for 循环的代码块中,可以执行任意的操作,包括条件判断、函数调用、赋值等等。
for 循环提供了一种方便的方式来对迭代对象进行逐个处理。
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 通常与循环语句(如 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 通常与循环语句(如 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 可以使代码更加灵活和高效。
这里我使用了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
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))