自学python 第六天:语句 循环语句 while

时间:2022-12-13 12:05:18
#循环语句
'''
循环语句允许执行一个语句或语句组多次
Python提供了for循环和while循环(在Python中没有do..while循环):
while 循环 在给定的判断条件为 true 时执行循环体,否则退出循环体。
for 循环 重复执行语句
嵌套循环 你可以在while循环体中嵌套for循环


循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:
break 语句 在语句块执行过程中终止循环,并且跳出整个循环
continue 语句 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
pass 语句 pass是空语句,是为了保持程序结构的完整性。
'''
# While 循环语句
# 用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务
'''
Grammar:
while 判断条件:
    执行语句……


执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假false时,循环结束。
'''
#偶数 奇数筛选
numbers = [23, 10, 3, 81, 7, 52, 4]
even = []
odd = []


while len(numbers) > 0:
number = numbers.pop()
if (number % 2 == 0):
even.append(number)
else:
odd.append(number)


print(even, odd, ", Good bye!")


#循环打印[1, 9]
count = 1
#print(sum([9, 1]))


while (count <= 9):
print(count)
count = count + 1


#叠加 N*(N +1)/2
#i, j, k = 0, 9, 0


i, j, k = 0, 100, 0
while (j > 0): #0 ~ 9之间的累加 这里可以更换j的值求出1到j之间的累加和
  j -= 1
  i += 1
  k += i
  #print(i)


j = 100 # 将j从新赋值
print(k, j*(j+1)/2)


#编写为函数
def f(x):
return x*(x+1)/2


print(f(j), ", Good bye!")


#break continue
"""
continue 用于跳过该次循环,break 则是用于退出循环
"判断条件"还可以是个常值,表示循环必定成立
"""
i = 1
while (i < 10):
i += 1
if i%2 > 0:
continue
#print(i) 放在这里不打印 python的代码块很严格哈
print(i)
#print(i)


i = 0
while (i < 10): #这里教程中没有加括号 这里没有其它的and 或是 or 等等运算符 加和不加括号优先级应该没有影响
i += 1
if i%2 != 1:
continue #这里之前没加上continue 条件相应的也变成是 if i%2 == 1

print(i)

i = 1
while 1:
print(i)
i += 1
if i >= 10:
break
print('-------0--------')
print(bool(0), bool(1))
i = 1
while 0: # 0 不是常数???
print(i)
i += 1
if i >= 10:
break
print('-------1--------')
i = 1
while 1:
print(i)
i += 1
if i >= 10:
break


#无限循环


var = 1
#while var == 1: #使用 CTRL+C 来中断循环
while var != 1:
#numNew = input("Enter a number :") 这里在sublime T3中不知如何整
numNew = '假装控制台输入。。。'
print('Your Enterd number :', numNew)
print('Good Job! KeyboardInterrupt hahah...123')


# while   else 语句
count = 0 
while count < 5:
print('count less than five')
count += 1
else:
print("count is greater than or equal five")


#简单语句组
#flag = 1
#while  flag:print('flag is real number')