Python( Day2 ) :while循环

时间:2024-01-24 10:33:35

一、while循环

 

1、基本循环

while循环语句基本结构:

[初始化部分一般是用来定义循环变量]
while 循环条件:
    循环体语句
    [循环变量更改部分]
[els:
    语句体]


执行顺序:
1. 初始化部分,一般是用了定义循环变量或新赋值
2.判断循环条件:
1
2
3
4
5
6
while 条件:
     
    # 循环体
 
    # 如果条件为真,那么循环体则执行
    # 如果条件为假,那么循环体不执行

 

2、无限循环

# 死循环
while True:
    print('海草')
    print('女儿情')
    print('二泉映月')
    print('牧马城市')

 

*如何终止循环*

1,改变条件。
2,break
3,调用系统命令:quit() exit() (不建议使用)

3、break

break:循环中遇到break 直接退出循环.
1 count = 0
2 while count < 10:
3     count = count +1
4     print (count)
5     break
6     print(123)
7 print("end")


3、continue

continue用于退出当前循环,继续下一次循环

1 count = 0
2 while count < 10:
3     count = count +1
4     print (count)
5     continue
6     print(123)
7     print ("end")

 

总结:

break:停止:直接停止当前的循环,不论还剩下多少次循环。
continue:跳过当前循环后面的语句,直接执行下一轮循环。

注意事项:

 

1, 对于计数器,如果是从0开始,条件判断中,一般不会出现等号

2,如果从哦那开始,一般条件会出现等号

3, sum 是一个内置函数名,最好不要和内置函数名重名

4,求和思想

# 先定义一个变量,用于保存所有数的和,初始值一定为0
# 每次累加变量
# 定义求和变量,初始值一定是0

5,求积思想


# 定义一个变量用于保存所有数的乘积,初始值一定为1
# 每一次都乘以变量的值再把结果赋值

 

 

练习题

一,输出(1~100)的整数:

1 count = 1
2 while count < 101:
3     print(count)
4     count = count + 1

 

二,用while循环输出 1 2 3 4 5 6 7 8 9 10:

1 count = 0
2 while count < 10 :
3     count = count +1
4     print(count,' ',end='')

 

三,用while循环输出 1 2 3 4 5 6   8 9 10:

 1 #第一种
 2 count = 0
 3 while count < 10:
 4     if count == 7:
 5         count = count + 1
 6         continue
 7     print (count,' ',end='')
 8     count = count + 1
 9 
10 
11 
12 #第二种
13 n = 1
14 while n < 10:
15     n = n + 1
16     if n == 7:
17         continue
18     else:
19     print(n)
20 
21 
22 
23 
24 #第三种
25 n = 1
26 while n < 10:
27     n = n + 1
28     if n == 7:
29         pass
30     else:
31         print(n)
32 
33 
34 
35 #第四种
36 count = 0
37 while count < 10:
38     count +=1         # count = count + 1
39     if count == 7:
40         print('')
41     else:
42         print(count)
View Code

 

 

四,打印(1~100)的偶数:

 1 #第一种
 2 count = 1
 3 while count < 101:
 4     if count % 2 == 0:
 5         print(count)
 6     else:
 7         pass
 8     count = count+1
 9 print('END')
10 
11 #第二种
12 count = 1
13 while count < 101:
14     if count % 2 == 0:
15         print(count)
16     count += 1
17 
18 #第三种
19 count = 1
20 while count < 101:
21     print(count)
22     count += 1
23 '''

 

五,打印(1~100)的奇数:

#第一种
count = 1
while count < 101:
    if count % 2 == 1:
        print(count)
    else:
        pass
    count = count+1
print('END')

#第二种 count = 1 while count < 101: if count % 2 == 1: print(count) count += 1
#第三种 count = 1 while count < 101: print(count) count +=2

 

六,求1~100所有整数的和:

1 count1 = 0
2 count2 = 1
3 while count2 < 101:
4     count1 = count1 + count2
5     count2 = count2 + 1
6 print (count1)

 

七,求1-2+3-4+5 ...... 99的所有数的和:

 1 # 1+3+5+7+9....+99 - 2-4-6-8-10
 2 
 3 sum = 0
 4 count = 1
 5 while count <= 100:
 6     if count % 2 == 1:     # 奇数
 7         sum += count       # sum = sum + count         
 8     else:                  # 偶数
 9         sum -= count       # sum = sum - count
10     count += 1             # count = count + 1
11 print(sum)

 

八,利用while语句写出猜⼤⼩的游戏:设定⼀个理想数字⽐如:66,让⽤户输⼊数字,如果⽐66⼤,则显示猜测的结果⼤了;

    如果⽐66⼩,则显示猜测的结果⼩了;只有等于66,显示猜测结果正确,然后退出循环

 1 count = 1
 2 n = 66
 3 while True:
 4     num = int(input())
 5     if num > n:
 6         print('猜大了')
 7     elif num < n:
 8         print('猜小了')
 9     else:
10         print('猜对了')
11         break
12     count = count + 1

 

 

九,在上题基础上升级:给⽤户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果三次之内没有猜测正确,则⾃动退出循环,并显示‘太笨了你....’。

 1 count = 1
 2 n = 66
 3 while count < 3:
 4     num = int(input())
 5     if num > n:
 6         print('猜大了')
 7     elif num < n:
 8         print('猜小了')
 9     else:
10         print('猜对了')
11         break
12     count = count + 1
13 else:
14     print('太笨了')

 

 

十,在上题的基础上再次升级:变成随机猜数字

 

 1 import random                 # from random import randint
 2 n = random.randint(1,100)     # n = randint(1,100)
 3 count = 1
 4 while True:
 5     num = int(input('请猜:'))
 6     if num > n:
 7         print('猜大了')
 8     elif num < n:
 9         print('猜小了')
10     else:
11         print('猜对了')
12         break
13     count = count + 1

 

十一,⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)

 

 1 count = 1
 2 while count <= 3:
 3     username = input('请输入姓名:')
 4     password = int(input('请输入密码:'))
 5     if username == 'wyf' and password == 123:
 6         print('恭喜你登录成功!')
 7         break
 8     else:
 9         print('登陆失败')
10     print('当前登陆了%s次,剩余登录次数为%s次' % (count, 3 - count))
11     count = count + 1

 

方法二:

 

 1 username = "wyf"
 2 password = "123"
 3 n = 3
 4 while n>0:
 5     name = input("请输入姓名:")
 6     n = n -1
 7 
 8     if name == username:
 9         psw = input('请输入密码:')
10         if psw == password:
11             print('登陆成功,请稍后...')
12             print('''
13              username: %s
14              password: %s
15             ''' % (username,password)
16             )
17             break
18         else:
19             print('你的密码输入错误,请重新输入:')
20             print('你还有%s次机会' % (n))
21             if n== 0 :
22                 print('你的机会已经用完')
23                 # answer = input('在试试?  Yes or No')
24                 # if answer == 'Yes':
25                 #     i = 3
26                 break
27 
28 
29     else:
30         print("你的用户名错误,请重新输入!")
31         # print('你还有%s次机会' % (n))
32         print("你还有" + str(n) + "次机会")
33         if n ==0:
34             print('你的机会已经用完')
35             # answer = input ('在试试?  Yes or No')
36             # if answer == 'Yes':
37             #     i = 3
38             break
View Code