while循环和continue及break,及python基础习题

while循环和continue及break

while循环

语法:
while 条件语句:
循环体

说明:
while - 关键字;固定写法
条件语句 - 和if中的条件语句的要求一样
: - 固定写法
循环体 - 结构上,和while保持一个缩进的一条或多条语句;逻辑上,需要重复执行的代码

执行过程: 不断判断条件语句是否为True,如果是就执行循环体,否则循环就结束

示例:

x = 0
while x < 5:
    print(x)
    x += 1

# 练习1:打印1~100所有的整数
x = 1
while x <= 100:
    print(x)
    x += 1
# 练习2:打印100以内所有的偶数
x = 2
while x <= 100:
    print(x)
    x += 2

# 练习3:打印100,98.....,2,0
x = 100
while x >= 0:
    print(x)
    x -= 2

for循环和while循环的选择

关系:for能解决的问题,while循环都可以解决;while循环能解决的问题,for循环不一定可以解决
但是for循环比起while循环,控制次数更容易

建议:能用for循环解决的问题都用for,解决不了的才考虑while.
循环次数确定 - 使用for
循环次数不确定 - 只能使用while循环

示例:

# 练习:提示用户不断输入密码,直到输入正确
pw = '5500550'
pw1 = input('请输入密码:')
while pw1 != pw:
    pw1 = input('密码错误请重新输入密码:')
print('登陆成功')

猜数字游戏


'''
系统随机产生一个0-100的随机数
用户不断输入数字,直到输入的数字和产生的数字相等,游戏结束
如果猜错了,给出打了或者小了的提示信息
'''
# python创建随机数
from random import randint

# x = randint(10,20) #产生一个10-20的随机数,并保存到x中


a = randint(1, 100)
b = 0
count = 0
while a != b and count <= 10:
    b = int(input('请输入一个数字:'))
    if b > a:
        print('大了')
    else:
        print('小了')
    count += 1
if count <= 10:
    print('第', count, '次正确,游戏结束', sep='')
else:
    print('次数用完游戏结束')

continue和break

continue和break都只能出现在循环体中

continue - 结束一次循环,每次在执行循环体的时候,如果遇到continue,那么这次循环结束,直接进入下一次循环
break - 结束整个循环,在执行循环体的时候,如果遇到break,那么整个循环直接结束,不会进入下次循环

示例:

for x in range(5):
    print(x)
    print('======')
    continue
    print('++++++')

x = 0
while x <= 10:
    print(x)
    if x % 2 == 0:
        x += 3
        continue
    x += 1

for x in range(5):
    if x % 2:
        break
    print(x)
while和break

while循环使用的通用格式:
while True:
需要重复执行的代码
if 循环结束的条件
break

示例:

pw = '123456'
while True:
    pw1 = input('请输入密码')
    if pw == pw1:
        break

输入一个正整数,求他是几位数

num = int(input('请输入一个任意正整数:'))
s = 1
while True:
    num //= 10
    if num:
        s += 1
    else:
        break
print(s, '位数')
else关键字

完整的循环结构
1.完整的for循环
for 变量 in 序列:
循环体
else:
代码段
2.完整的while循环
while 条件语句:
循环体
else:
代码段

else的作用:
else的存在不会影响原来循环的执行;
如果循环不是因为遇到break而结束的else后的代码段就会在循环结束后执行,否则不执行

练习:判断指定的数是否是素数

s = int(input('请输入一个数'))
for x in range(2, s):
    if s % x == 0:
        print(num, '不是素数')
        break
else:
    print('是素数')

s = int(input('请输入一个数'))
n = 2
while True:
    if s % n != 0 and n < s:
        n += 1
    else:
        print('是素数')
        break
else:
    print('不是素数')

第一周作业

一、选择题

  1. 下列变量名中不合法的是?(C)

    A. abc

    B. Npc

    C. 1name

    D ab_cd

  2. 下列选项中不属于关键字的是?(B)

    A. and

    B. print

    C. True

    D. in

  3. 下面哪个选项对应的代码写法是正确的?(C)

    A.

    print('Python')
      print('新手村')
    

    B.

    print('Python') print('新手村')
    

    C.

    print('Python')
    print('新手村')
    

    D.

    print('Python''新手村')
    
  4. 下面选项中能打印出50的是?B

    A.

    print('100 - 50')
    

    B.

    print(100 - 50)
    
  5. 关于引号,下面选项中使用正确的是?D

    A.

    print('hello)
    

    B.

    print("hello')
    

    C.

    print(“hello”)
    

    D.

    print("hello")
    

二、编程题

  1. 写代码在控制台打印 good good study, day day up!

    print('good good study, day day up!')
    
  2. 写代码在控制台打印5次 you see see, one day day!

    a = 'you see see, one day day!'
    print(a)
    print(a)
    print(a)
    print(a)
    print(a)
    
  3. 写代码打印数字 11、12、13、… 21

for i in range(11,22):
    print(i)
    i += 1
  1. 写代码打印数字 11,13,15,17,…99

    for i in range(11,100):
        print(i)
        i += 2
    
  2. 写代码打印数字:10、9、8、7、6、5

    x = 10
    for i in range(1,6):
        print(x,end='、')
        x -= 1
    
  3. 写代码计算:1+2+3+4+…+20 的和

    s = 0
    for i in range(1,21):
        s += i
    print(s)
    
  4. 写代码计算100以内所有偶数的和

    s = 0
    for i in range(2,100,2):
        s += i
    print(s)
    
  5. 写代码统计100~200中个位数是3的数的个数

    s = 0
    for i in range(100,200):
        if i % 10 == 3:
            s += 1
    print(s)
    
  6. 写代码计算2*3*4*5*...*9的结果

    s = 1
    for i in range(2,10):
         s *= i
    print(s)
    
  7. 输入一个数,如果输入的数是偶数就打印偶数否则打印奇数

    s = int(input('请输入一个数:'))
    if s % 2 != 0:
        print('奇数')
    else:
        print('偶数')
    
  8. 统计1000以内能被3整除但是不能被5整除的数的个数。

    s = 0
    for i in range(1,1000):
        if i % 3 == 0 and i % 5 != 0:
            s += 1
    print(s)
    
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值