while循环语句
while语句
while 表达式:
语句
逻辑:当程序执行到while语句时,首先计算“表达式”的值,如果“表达式”的值为假,那么结束整个while语句。如果“表达式”的值为真,则执行“语句”,执行完“语句”再去计算“表达式”的值。如果“表达式”的值为假,那么结束整个while语句。如果“表达式”的值还为真,则执行“语句”,执行完“语句”再去计算“表达式”的值。如此循环往复,直到表达式的值为假才停止。
while-else 语句
while 表达式:
语句1
else:
语句2
逻辑:在条件语句(表达式)为False时执行else中的“语句2”
小练习
#打印1-5的数
list=[]
num=1
while num<=5:
list.append(num)
num += 1
print(list)
>>>[1, 2, 3, 4, 5]
#计算1-100的数加和
num = 1
sum = 0
while num <= 100:
sum += num
num += 1
print(sum)
>>>5050
#打印字符串中的字符
str='This is a temp!'
index=0
while index < len(str): #长度15,但下标只有14,所以不能写成<=
print('str[%d] = %s' % (index,str[index]))
index += 1
>>>str[0] = T
str[1] = h
str[2] = i
str[3] = s
str[4] =
str[5] = i
str[6] = s
str[7] =
str[8] = a
str[9] =
str[10] = t
str[11] = e
str[12] = m
str[13] = p
str[14] = !
#打印出所有三位数中的水仙花数(如153=1³+5³+3³)
list=[]
num=100
while num<=999 :
a=num//100
b=num//10%10
c=num%10
if num == a**3+b**3+c**3:
list.append(num)
num += 1
print(list)
>>>[153, 370, 371, 407]
#打印一个字符串中所有数字的和
str='abdt33465dgt'
index=0
sum=0
while index< len(str):
if str[index]>="0" and str[index]<="9":
sum += int(str[index])
index += 1
print(sum)
>>>21
#输入一个数字,分解质因数
num=int(input())
i=2
list=[]
while num !=1:
if num % i == 0:
list.append(i)
num//=i
else:
i +=1
print(list)
>>>84 #(输入值)
>>>[2, 2, 3, 7] #(结果值)