day5循环

day5 知识点总结

1、if 嵌套

# 练习:如果一个数是奇数就打印奇数,否则打印偶数,如果能被4整除打印4的倍数
# 3  ->  奇数
# 2  -> 偶数
# 8  -> 偶数、4的倍数
num = int(input('请输入一个数字:'))
if num % 2 == 0:
    if num % 4 == 0:
        print('偶数、4的倍数')
    else:
        print('偶数')
else:
    print('奇数')

2、三目运算符

针对数据2选1的时候简单的写法

1、语法

值1 if 表达式1 else 值2 (python)  ==  表达式?值1:值2 (c语言)
运算规则:如果表达式结果为True,整个运算的结果就说值1,否则就是值2
# 示例1
# a如果大于10result结果为0,否则result结果是1
# 方法1:
a = int(input('请输入一个数字:'))
result = 0 if a > 10 else 1
print(result)

# 方法2:
a = int(input('请输入一个数字'))
if a > 10:
    result = 0
else:
    result = 1
print(result)
# 示例2
# 需求:如果a大于10让a加1,否则让a减1(用三目运算符)
a = int(input('请输入一个数字'))
result += 1 if a > 10 else -1 
print(a)

3、while循环

1、语法
while 条件语句:
    循环体
2、说明
while   -   关键字;固定写法
条件语句    -   可以是任何有结果的表达式(赋值语句除外)
:   -   固定写法
循环体     -while保持一个缩进的一条或多条语句;循环体就说会重复执行的代码
3、执行过程
执行过程:
先判断条件语句是否为True,如果是True就执行循环体;执行完循环体再判断条件语句是否为True,如果是True就继续执行循环体;...以此类推,如果条件语句是False循环就结束
# 使用while循环打印5次'朴彩英'
a = 0
while a < 5:
    print('朴彩英')
    a += 1
"""
执行过程:
a = 0

第1次:while 0 < 5 -> while True -> print('hello world!); -> a+=1:a=1
第2次:while 1 < 5 -> while True -> print('hello world!); -> a+=1:a=2
第3次:while 2 < 5 -> while True -> print('hello world!); -> a+=1:a=3
第4次:while 3 < 5 -> while True -> print('hello world!); -> a+=1:a=4
第5次:while 4 < 5 -> while True -> print('hello world!); -> a+=1:a=5
当a = 5 ,while False,循环结束

"""
4、for循环和while循环的选择
如果循环次数确定使用for;如果循环次数不确定就用while
(凡是可以用for解决的问题都有forfor解决不了的才用while)

4、循环关键字

continue和break - 只在循环体中使用

1、continue

1)作用:结束一次循环(执行循环体的时候如果遇到continue当前循环马上结束,直接进入下一次循环)

# 示例
for x in range(3):
    print('朴彩英')
    continue
    print('blink')
# 打印结果时,因为continue,朴彩英会打印3次,而blink不会打印
2、break

1)作用:结束整个循环(执行循环体时如果遇到break,整个循环直接结束)

2)语法:

while True:
    需要重复的操作
    if 循环结束的条件:
        break
# 示例:给一个初始密码,请输入密码,如果输入的密码不对,则会输出请输入密码,如果输入的密码正确,则输出'登录成功'
password = '12345'

while True:
    value = int(input'请输入你的密码:')
    if value == password:
        break
 print('登录成功')
   
# 练习:写一个猜数字游戏
# 要求:随机产生一个0~100的随机数,玩家输入数字,如果和产生的数字相等,游戏结束!如果和产生的数字不相等,给出大了或者小了的提示,并且求最后一共输入了多少次
# 产生随机数的代码如下:
"""
from random import randint
num = randint(0,100)
"""
from random import randint
num = randint(0,100)
count = 0
while True:
    value = int(input('请输入你的数字:'))
    count += 1
    if value > num:
        print('大了!')
    elif value < num:
        print('小了!')
    else:
        break
print('恭喜你猜对啦!',count)
3、else关键字

1、完整的for循环

for 变量 in 序列:
	代码段
else:
	代码段

2、完整的while循环

while 条件语句:
	循环体
else:
	代码段

3、关于else

1)else的存在不会影响原循环的执行

2)else后面的代码会在循环结束后执行(如果循环时因为遇到break而结束,else后面的代码就不会执行)

# 示例:判断一串字符是不是纯数字字符串
str1 = input('请输入你的字符串:')
for x in str1:
    if not '0' <= x <= '9':
        print(str1,'不是纯数字字符串')
        break
else:
    print(str1,'是纯数字字符串')

第一周作业

一、选择题

  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!

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

    # 2. 写代码在控制台打印5次 `you see see, one day day!`
    a = 0
    while a <5:
        print('you see see, one day day')
        a += 1
    
  3. 写代码打印数字 11、12、13、… 21

    # 3. 写代码打印数字 11、12、13、... 21
    for x in range(11,22):
        print(x)
    
  4. 写代码打印数字 11,13,15,17,…99

    # 4. 写代码打印数字 11,13,15,17,...99
    for y in range(11,100,2):
        print(y)
    
  5. 写代码打印数字:10、9、8、7、6、5

    # 5. 写代码打印数字:10、9、8、7、6、5
    for x in range(10,4,-1):
        print(x)
    
  6. 写代码计算:1+2+3+4+…+20 的和

    # 6. 写代码计算:1+2+3+4+...+20 的和
    result = 0
    for x in range(1,21):
        result += x
    print(result)
    
  7. 写代码计算100以内所有偶数的和

    # 7. 写代码计算100以内所有偶数的和
    result = 0
    for x in range(0,101):
        if x % 2 == 0:
            result += x
    print(result)
    
  8. 写代码统计100~200中个位数是3的数的个数

    # 8. 写代码统计100~200中个位数是3的数的个数
    
    count = 0
    for x in range(10,201):
        if x % 10 == 3:
            count += 1
    print(count)
    
  9. 写代码计算2*3*4*5*...*9的结果

    # 9. 写代码计算`2*3*4*5*...*9`的结果
    result = 1
    for x in range(2,10):
        result *= x
    print(result)
    
  10. 输入一个数,如果输入的数是偶数就打印偶数否则打印奇数

    # 10. 输入一个数,如果输入的数是偶数就打印`偶数`否则打印`奇数`
    
    num = int(input('请输入一个数字:'))
    if num  % 2:
        print('奇数')
    else:
        print('偶数')
    
  11. 统计1000以内能被3整除但是不能被5整除的数的个数。

    # 11. 统计1000以内能被3整除但是不能被5整除的数的个数。
    count = 0
    for x in range(3,1000,3):
        if x % 5 != 0:
            count += 1
    print(count)
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值