python之while语句详解

python之while语句详解

  • 1.基本介绍
  • 2. while语句练习
    • 2.1 求100以内所有奇数或偶数之和
    • 2.2 求100以内9的倍数之和,以及个数
    • 2.3 输出九九乘法表
    • 2.4 猜数字
    • 2.5 循环嵌套

1.基本介绍

(1)定义:Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。
(2)基本形式

while 判断条件(condition):
    执行语句(statements)'''
执行语句可以是单个语句或语句块。
判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假 false 时,循环结束。
'''

(3)执行流程

# while语句在执行的时候,先会对while后面的条件表达式进行求值判断
# 如果判断结果为True,则会执行循环体(代码块)
# 循环体执行完毕,继续对条件表达式进行求值判断,以此类推
# 直到判断结果为False 则循环终止 执行else语句
i = 0
while i < 10:
    i += 1
    print(i,'hello')
else:
    print('执行else语句的代码块')

(3)循环控制语句

代码 含义
break语句 在语句执行过程中终止循环,并且跳出整个循环
continue语句 在语句执行过程中终止循环,并且跳到下一次循环
pass语句 pass是空语句,是为了保持程序结构的完整性
  • break语句
i = 1
while i < 10:
	if i == 5:
		break #打印出的值只有1,2,3,4.即到5的时候终止循环
	else:
		print(i)
	i += 1

-pass语句

i = 1
while i < 10:
    if i < 5:
			pass 
    else:
        print('输入的值都大于等于5,为%d'%i)  #输出为5-10
        i += 1
  • continue语句
i = 1
while i < 10:
    if i < 5:
        print('输入的值都小于5,为%d'%i)
        i += 1
        continue
    else:
        print('输入的值都大于等于5,为%d'%i)
        i += 1
        continue
    print('1-10输入完毕')

2. while语句练习

2.1 求100以内所有奇数或偶数之和

# 求100以内奇数之和
result = 0 # 定义一个变量 保存结果 
while i < 100:
    i += 1
    # 判断 i 是否是奇数
    if i % 2 != 0:
        result += i # result = result + i
print(result)
# 求100以内偶数之和
i = 0
result = 0
while i < 100:

    i += 2
    result += i
print(result)

2.2 求100以内9的倍数之和,以及个数

# 求100以内9的倍数之和,以及个数
i = 9
r = 0  
j = 0  # 创建一个标记 目的记录循环的次数
while i < 100:
    j += 1 # 标记 + 1
    r += i
    i += 9
print('总和为:',r,'次数',j)

2.3 输出九九乘法表

# 输出九九乘法表
'''
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
........
9*1=9 9*2=18 9*3=27 ......  9*9=81
规律为:i * 1 i*2 ... i*j
'''
for i in range(1,10):
    j = 1
    while j < i + 1:
        print(i,'*',j,'=',i*j,end=" ")
        j += 1
    print()

2.4 猜数字

'''
给用户9次机会 猜1 - 10 个数字内 随机来猜数字。
如果随机的数字和用户输入的数字一致则表示正确,如果不一致则表示错误。
最终结果要求用户怎么也猜不对.
'''
import random
i = 1
while i < 10:
    num_aw = random.randint(1, 10)
    num_in = int(input('请输入猜的数字: '))
    if num_aw != num_in:
        print('猜错了! 正确答案为%d。请再次输入,您还有%d次机会'% (num_aw,9-i))
    else:
        num_aw = random.randint(1, 10)
        print('猜错了! 正确答案为%d。请再次输入,您还有%d次机会' % (num_aw, 9 - i))
    i += 1
# 给用户9次机会猜1 - 10个数字。无论用户怎么猜都猜不对

# 1 2 3 4 5 6 7 8 9 10   9次机会
# 思路:1.先拿到用户猜过的数字   2 3 4 5 6 7 8 9 10
#      2.随机一个数字去和用户猜过的数字做比对 如果随机的这个数字没有出现在用户猜过的数字当中。那么这个数字就是最终大答案

import  random

i = 1
number = []
while i < 10:
    num_in = int(input('请输入您猜的数字: '))
    number.append(num_in)
    print('不好意思,猜错了!!')
    i += 1

while True:
    num_right = random(range(0,10))
    if num_right in number:
        continue
    else:
        break

print('正确的号码是:',num_right)

2.5 循环嵌套

i是长度循环
j是宽度循环

'''
打印一个三角形
*
**
***
'''
i = 0
while i < 5:  # i是循环打印4次
    j = 0
    while j < i + 1:
        print('*',end='')
        j += 1
    print()
    i += 1
'''
结果是:
*
**
***
****
*****
'''

你可能感兴趣的:(python之while语句详解)