IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 新手学习python语言基础知识第四天 -> 正文阅读

[Python知识库]新手学习python语言基础知识第四天

语言基础

day4 - 循环

01.for循环

循环 - 让代码重复执行(代码写一遍,运行的时候可以执行多次)

1.for循环

for循环如图:

在这里插入图片描述

语法:
for 变量 in 序列
循环体
说明:
for、in - 关键字,固定写法
变量 - 写一个变量名(可以是已经定义过的,也可以没有定义过的)
序列 - 容器型数据类型对应的数据,常见序列:字符串、列表、元组
字典、集合、迭代器、生产器、range。
: - 固定写法
循环体 - 和for保持一个缩进的一条或者多条语句;就是需要重复执行的代码.
执行过程:
让变量去序列中取值:一个一个的取,取完为止,每取一个值执行一个循环体.
for循环循环的次数和序列中元素的个数有关

for x in 'ab12你好':
     print(x,'hello')
# a hello
# b hello
# 1 hello
# 2 hello
# 你 hello
# 好 hello

2.range函数 - 产生指定范围的数字序列

1)range(N) - 产生[0,N)的数字序列,其中步长是1
2)range(M,N) - 产生[M,N)的数字序列,步长为1
3)range(M,N,step) - 产生[M,N)的数字序列,步长为step指定的值
for x in range(10):
    print(x)
for x in range(4):
    print('hello')
for x in range(10,20):
    print(x)
for x in range(10,20,2):
    print(x)
for x in range(20,0,-3):
    print(x)

练习1:打印100以内所有的偶数

for x in range(2,100,2):
    print(x)

练习2:打印100到200中所有个位数是3的数

for x in range(100,201):
    a=x % 10
    if a==3:
        print(x)

练习3:打印所有的水仙花数

for num in range(100,1000):
    a = num // 100
    b = num // 10 % 10
    c = num % 10
    if a ** 3 + b ** 3 + c ** 3 == num:
        print(num)

02.两个套路

1.统计100以内偶数的个数

count=0
for x in range(2,100,2):
    count +=1
print(count)

2.统计100以内能被3整除的偶数的个数

count = 0
for x in range(0,100,6):
        count+=1
print(count)

3.计算1+2+3+…+100的和

sum = 0
for x in range(101):
    sum+=x
print(sum)

4.计算所有水仙花数的和

sum=0
for num in range(100,1000):
    a = num // 100
    b = num // 10 % 10
    c = num % 10
    if a ** 3 + b ** 3 + c ** 3 == num:
        sum+=num
        print(sum)

03.while循环

1.while循环

循环如图:

在这里插入图片描述

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

说明:
while - 关键字:固定写法
条件语句 - 任何有结果的表达式(只有赋值语句不行)
: - 固定写法
循环体 - 和while保持一个缩进的一条或者多条语句:需要重复执行代码

执行过程:
先判断条件语句是否为True,如果为True就一直执行循环体,当条件语句结果为False循环直接结束.
使用 while循环控制程序打印10个’hello’

num=0
while num<10:
    num+=1
    print('hello')

while循环控制循环次数的原则:让条件经历过指定次数后由True变成False

2.while和for的选择

for循环:循环次数确定的时候使用
while循环:如果循环次数不确定的时候使用
练习:提示用户不断输入内容,直到输入的数据是0为止

num=' '
while num !='0':
    print(num)
    num=input('请输入:')

04.循环关键字

1.continue和break

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

1)continu - 结束一次循环/结束当次循环

如果在执行循环体的时候遇到了continu,那么当次循环结束,直接进入下一次循环

2)bre- 结束整个循环ak

如果在执行循环体的时候遇到了break,整个循环直接结束.

for x in range(4):
    print('======')
    continue
    print('++++++')
    print('------')
for x in range(4):
    print('======')
    break
    print('++++++')
    print('------')
for x in range(10):
    print(x)
    if x == 3:
        break

2.有了break的while循环

while True:
需要重复执行的操作
if 循环结束的条件:
break

while True:
	value = input('请输入:')
	if value == '0':
		break

3.else

完整的for循环
for 变量 in 序列
循环体
else:
代码段
完整的while循环:
while 条件语句
循环体
else:
代码段
else结构的存在不影响原来循环的执行;
当循环自然死亡,else后面代码段会执行,如果循环是因为遇到break
而结束的else后面的代码段不执行.

for x in range(4):
    print(x,'======')
    if x == 2:
        break
else:
   print('else')
x=0
while x<5:
    x+=1
    print(x)
else:
    print('else')

作业

基础题

  1. 使用for和while循环输出 0~100内所有3的倍数。

    num=0
    while True:
        num+=3
        if num >=100:
            break
        print(num)
    print('==========================================')
    for num in range(3,100,3):
        print(num)
    
  2. 使用for和while循环输出100~200内个位数或者十位数能被3整除的数。

    for num in range(100,201):
        if num % 10 % 3==0 or num//10%10%3==0:
            print(num)
    print('==========================================')
    num=99
    while 99<=num<200:
        num+=1
        if num % 10%3==0 or num//10%10%3==0:
            print(num)
    
  3. 统计100~200中十位数是5的数的个数

    conut=0
    for x in range(100,201):
        a=x//10%10
        if a==5:
          count+=1
    print(count)
    
  4. 打印50~150中所有能被3整除但是不能被5整除的数

    for x in range(50,151):
        if x % 3 == 0 and x % 5 !=0:
        	print(x)
    
  5. 计算50~150中所有能被3整除但是不能被5整除的数的和

    count=0
    for x in range(50,151):
        if x % 3 == 0 and x % 5 !=0:
            count+=x
    print(count)
    

进阶题

  1. 使用循环计算1*2*3*4*...*10的结果。

    count=1
    for x in range(1,11):
            count*=x
    print(count)
    
  2. 统计100以内个位数是2并且能够被3整除的数的个数。

    count=0
    for x in range(0,100):
        a=x % 10
        if a==2 and x % 3 ==0:
            count+=1
    print(count)
    
  3. 输入任意一个正整数,求他是几位数?

    length=0
    num=int(input('请输入一个正整数:'))
    while True:
        num=num//10
        length+=1
        if num==0:
            break
    print(length)
    

    注意: 这儿不能使用字符串,只能用循环

  4. 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字?方和等于该数本身。例如:153是

    ?个?仙花数,因为 13 + 53 + 33 等于 153。

    for num in range(100,1000):
        a = num // 100
        b = num // 10 % 10
        c = num % 10
        if a ** 3 + b ** 3 + c ** 3 == num:
            print(num)
    

挑战题

  1. 判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)

    num=int(input('请输入一个整数:'))
    for i in range(2,num):
         y = num % i
         if y == 0:
           print('不是质数')
           break
    else:
           print('是质数')
    
  2. 求斐波那契数列列中第n个数的值:1,1,2,3,5,8,13,21,34… (这儿的n可以是任意正整数,可以通过输入来确定)

    num = int(input('请输入第n个数:'))
    value1 = 1
    value2 = 0
    current = 1
    for x in range(2,num+1):
        current=value2+value1
        value2 = value1
        value1 = current
    print('第',num,'个数是',current)
    
  3. 输出9*9口诀。 程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

    print('9*9乘法口诀')
    i=int(input('请输入行:'))
    j=int(input('请输入列:'))
    z=''
    for x in range(0,i+1):
        for y in range(0,j+1):
            z=x*y
    print(z)
    
  4. 这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?(可以直接使用穷举法)

    #假如大马x匹,中马y匹,小马100-x-y匹
    for x in range(0,34):
        for y in range(0,51):
            if 3*x + 2*y+(100-x-y)/2==100:
                print('大马',x,'中马',y,'小马',100-x-y)
    
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-16 21:58:41  更:2021-07-16 21:58:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/25 14:26:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计