循环结构是控制一个语句块重复执行的程序结构,它由循环体和循环条件两部分组成
循环体是重复执行的语句块
循环条件是控制循环体是否执行
while 条件: 循环体 当条件成立的时候循环体的代码就会执行
while 条件: 循环体 |
else: 当while正常执行完成都会执行这个 子语句 # while 条件成立的时候就会一直执行循环体 直到条件不成立才会停止执行循环体 while正常执行完成 会执行else的子语句 #注意 在while语句中 如果条件的值永远为True 则循环会无限的执行下去 这种情况称为死循环 为了避免 出现死循环的情况 必须在循环体内含能修改条件的语句是条件能在某刻变为False 从而能结束循环
#无限循环(死循环) while True: print("条件的值为True这个循环就会一直执行")
打印10遍你好python num = 1 while num <= 10: print(num,"你好python") num = num + 1 #每执行一遍循环 num这个变量都会+1 当第一边执行完成 num = 2 当第 二遍执行完成后num = 3 第三遍执行完成后num = 4 ... 直到第10遍 num = 11 这个循环就会停止执行 因为 11<=10不成立 |
练习题:
#1.打印10遍你好python num = 1 while num <= 10: print(num,"你好python") num = num + 1 #每执行一遍循环 num这个变量都会+1 当第二遍执行完成后num = 3 第 三遍执行完成后num = 4 ... 直到第10遍 num = 11 这个循环就会停止执行 因为 11<=10不成立
#2.打印从1到100 num = 1 while num <= 100: print(num) |
num = num + 1 #3.打印出1到100之间的偶数 num = 1 while num <= 100: if num % 2 == 0: print(num) num = num + 1 #4.输入一个整数 ,并使用while循环从1打印到这个数 #5.编写一个程序,提示用户输入一个数字并从1打印该数字的所有奇数。
#6.使用while循环打印出以下图案: * ** *** **** ***** num = 1 while num <= 5: if num == 1: print("*") elif num == 2: print("**") elif num == 3: print("***") elif num == 4: print("****") elif num == 5: print("*****") num = num + 1 #7.用户长方形的长和宽 后使用while将他打印出来如下: (先去看字符串的拼接再做这一题 先去看字符串 的拼接再做这一题 先去看字符串的拼接再做这一题) ) * * * * * * * * * * * * * * * a = int(input("请输入长")) b = int(input("请输入宽")) num = 1 while num <= b: print("* "*a) num = num + 1 #8.计算出1+到100的值 如果1+2+3+4+5......+100 num = 1 value = 0 while num <= 100: value = value + num num = num + 1 print(end) #计算出1到100之间所有的偶数和 #计算出1到100之间所有的奇数和 |
伪随机数的生成
import random print(random.randint(参数1,参数2)) 参数1填产生随机数的开始值 参数2填参数随机数的结束值 如 random.randint(1, 100) 会随机生成 1 - 100 之间的位随机数 参数1和参数2只能是整型整数 产生一个随机数可以用一个变量绑定他 列如: num = random.randint(1,100) |
练习题
#下面我们需要写一个小游戏 猜数字游戏 #我们使用input函数让玩家输入一个1到100之间的整数,并将其转换为整型。然后我们判断玩家猜测的数字和 随机生成的数字之间的大小关系,如果玩家猜大了,就输出“猜大了,请重新输入! ”;如果玩家猜小了,就输 出“猜小了,请重新输入! ”;如果玩家猜中了,就输出“恭喜你,猜中了!”以及玩家猜测的次数。 import random value = random.randint(1, 100) count = 0 while True: num = input("请猜一个整数") num = int(num) count = count + 1 if num == value: print("恭喜你猜对了") print(count) elif num > value: print("猜大了") elif num < value: print("猜小了") |
for可以遍历任何可迭代对象 如字符串 列表 等
所谓的可迭代对象就是指那些元素可以被取出来的
如下面的
for语法结构: for 变量 in 序列: for语句块
for i in "123456": print(i) #他会循环取出字符串"123456"中的值 第一遍取出字符串1 第二遍取出字符串2 等等 直到把这6个字全部取出来完后才会停止运行 |
怎么使用for 打印123456789 可以使用range这个函数 返回一个可迭代对象 range格式 range(起始值 ,结束值 ,步长) range(起始值 ,结束值) range(结束值) |
|
如果不填起始值默认的值是从0开始的 注意注意生成的可迭代对象不包括结束值 个可迭代对象 for i in range(1,10) print(i) |
如果不填步长默认的值是1 生成的范围也就是 起始值 ,结束值-1 如(1,100)只会生成1-99这 |
练习题
#用for循环和range打印出从1到100 for i in range(1,101): print(i) #获取用户输入一个整数 使用for循环和range函数从1加到输入的这个整数(包括输入的这个整数) 循环结束 后把和打印出来 num = int(input("请输入一个整数:")) count = 0 for i in range(1,num+1): count = count + i print(count) #使用for循环和range函数 计算出1到100之间的所有奇数和 并把它打印出来 count = 0 for i in range(1,101): if i % 2 ==1: count = count + i print(count) |