# 初始化表达式,通过初始化表达式初始化一个变量# i = 0# # 条件表达式,条件表达式用来设置循环执行的条件# while i < 10 :# print(i)# # 更新表达式,修改初始化变量的值# i += 1# 创建一个执行十次的循环
i =0while i <10:
i +=1print(i,'hello')else:print('else中的代码块')
二、练习
2.1 练习1
求100以内所有的奇数之和
# 获取所有100以内数
i =0# 创建一个变量,用来保存结果
result =0while i <100:
i +=1# 判断i是否是奇数if i %2!=0:
result += i
print('result =',result)
2.2 练习2
求100以内所有7的倍数之和,以及个数
i =7# 创建一个变量,来保存结果
result =0# 创建一个计数器,用来记录循环执行的次数# 计数器就是一个变量,专门用来记录次数的变量
count =0while i <100:# 为计数器加1
count +=1
result += i
i +=7print('总和为:',result,'总数量为:',count)
2.3 练习3
求1000以内所有的水仙花数
水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:13 + 53 + 3**3 = 153)
# 获取1000以内的三位数
i =100while i <1000:# 假设,i的百位数是a,十位数b,个位数c# 求i的百位数
a = i //100# 求i的十位数# b = i // 10 % 10
b =(i - a *100)//10# 求i的个位数字
c = i %10# print(i , a , b , c)# 判断i是否是水仙花数if a**3+ b**3+ c**3== i :print(i)
i +=1
2.4 练习4
获取用户输入的任意数,判断其是否是质数
num =int(input('输入一个任意的大于1的整数:'))# 判断num是否是质数,只能被1和它自身整除的数就是质数# 获取到所有的可能整除num的整数
i =2# 创建一个变量,用来记录num是否是质数,默认认为num是质数
flag =Truewhile i < num:# 判断num能否被i整除# 如果num能被i整除,则说明num一定不是质数if num % i ==0:# 一旦进入判断,则证明num不是质数,则需要将flag修改为false
flag =False
i +=1if flag :print(num,'是质数')else:print(num,'不是质数')
三、循环嵌套
3.1 在控制台中打印如下图形
*************************
# 创建一个循环来控制图形的高度# 循环嵌套时,外层循环没执行一次,内存循环就要执行一圈
i =0while i <5:# 创建一个内层循环来控制图形的宽度
j =0while j <5:print("* ",end='')
j +=1print()
i +=1
3.2 在控制台中打印如下图形
***************
i =0while i <5:
j =0while j < i +1:print("* ",end='')
j +=1print()
i +=1
四、循环嵌套练习
4.1 练习1
打印99乘法表
1*1=11*2=22*2=41*3=32*3=63*3=9...9*9=81
# 创建一个外层循环来控制图形的高度
i =0while i <9:
i +=1# 创建一个内层循环来控制图形的宽度
j =0while j < i:
j +=1print(f"{j}*{i}={i*j} ",end="")print()
4.2 练习2
求100以内所有的质数
# 创建一个循环,求1-100以内所有的数
i =2while i <=100:# 创建一个变量,记录i的状态,默认认为i是质数
flag =True# 判断i是否是质数# 获取所有可能成为i的因数的数
j =2while j < i:# 判断i能否被j整除if i % j ==0:# i能被j整除,证明i不是质数,修改flag为False
flag =False
j +=1# 验证结果并输出if flag :print(i, end=',')
i +=1