栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python学习Day-3

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python学习Day-3

python学习Day-3 一、流程控制 - 控制代码执行顺序

顺序结构——代码从上往下依次执行,每条语句只运行依次(默认)

age=18
print('成年')
print('未成年')
分支结构——根据条件选择执行或者不执行部分代码(使用if)

if单分支结构 - 如果…就…

解决的问题:满足条件执行某个操作,添加不满足的时候就不执行

说明:

if(关键字;固定写法)条件语句(可以任何有结果的表达式,包括具体的数或运算表达式(赋值除外)):( 固定写法)代码段(结构上为和if保持一个缩进的一条或多条语句,条件成立才执行的代码)

语法:

if 条件语句:
    代码段(满足条件才会执行的代码
age = 28
if age >= 18:
    print('成年')
    print('=====')
if双分支结构 - 如果…就…否则…

执行过程:
先对条件语句进行判断,结果为True时,执行代码段1;结果为False时,执行代码段2;一定会执行代码段3。

#语法
适用于如果....就....否则...
if 条件语句:
    代码段1
else:
	代码段2
代码段3
if多分支结构 - 如果…就…如果…就…如果…就…否则…
#语法
方法一: 
#根据不同条件做不一样的事情,适用于条件之间互斥的情况。
if 条件语句1:
    代码段1
elif条件语句2:
	代码段2
elif条件语句3:
	代码段3
else:
    代码段4
    
方法二:
#根据不同条件做不一样的事情,多个条件之间不存在其他一个条件成立别的条件就不成的关系。
if 条件语句1:
    代码段1
if 条件语句2:
    代码段2
if 条件语句3:
    代码段3
if 条件语句4:
    代码段4
    
注意:elif可以是任意多个;else可以有也可以没有
循环结构——让代码重复执行(for)

for循环原理:变量依次去序列中取值,取完为止;每取依次,执行一次循环体。

for循环的循环次数只与序列中的元素个数有关。

语法:

for 变量 in 序列:
	循环体
	
说明	-	关键字;固定写法
变量	-	有效变量名(是否已定义不影响执行)
in  -	 关键字;固定写法
序列	-	容器型数据类型的数据(字典、元组、字符串、列表、集合、迭代器、生成器等)
:	 -	固定写法	
循环体	-  和for保持一个缩进的一条或多条语句;需要重复执行的代码

例:
for x in 'abc':
    print('hello world!')
print('======')

"""
执行过程:
第1次:x = 'a'  -> print('hello world!')
第2次:x = 'b'  -> print('hello world!')
第3次:x = 'c'  -> print('hello world!')
循环结束!

hello world!
hello world!
hello world!
"""

for循环的两个基本运用场景:

累积

#求100到200中所有能被3整除的偶数的和
result = 0
for x in range(102, 201, 6):
    result += x
print(result)

统计个数

#统计1000以内奇数的个数
count = 0
for x in range(1, 1000, 2):
    count += 1
print(count)
range(产生等差数列的函数)

range(N)产生0-N的左闭右开区间,差值为1。range(A,B)产生A-B的左闭右开区间,差值为1。

>>>range(10)        # 从 0 开始到 9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11)     # 从 1 开始到 10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5)  # 步长为 5
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3)  # 步长为 3
[0, 3, 6, 9]
>>> range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]
二、练习题 基础题

1.根据输入的成绩的范围打印及格 或者不及格。

grade=int(input('请输入分数(百分制):'))
if 0<=grade<60:
	print('很遗憾,您未及格QAQ')
else:
	print("及格啦")

2.根据输入的年纪范围打印成年或者未成年,如果年龄不在正常范围内(0~150)打印这不是人!。

age=int(input('请输入年纪:'))
if 0 

3.输入两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息a-b的结果不是奇数

a=int(input('请输入整数a:'))
b=int(input('请输入整数b:'))
result=a-b
if result%2==1:
    print(result)
else:
    print('a-b的结果不是奇数')

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

#方法一
for x in range(0,101,3):
    print(x)
   
#方法二
for x in range(0,101):
    if x%3==0:
        print(x)

使用for循环输出100~200内个位数或者十位数能被3整除的数。

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

使用for循环统计100~200中十位数是5的数的个数

#方法一
for x in range(100, 201):
     if x // 10 % 10 == 5:
         print(x)
#方法二
for x in range(150,160):
    print(x)

使用for循环打印50~150中所有能被3整除但是不能被5整除的数

for x in range(51,151,3):
    if x%5!=0:
        print(x)

使用for循环计算50~150中所有能被3整除但是不能被5整除的数的和

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

统计100以内个位数是2并且能够被3整除的数的个数。

count=0
for x in range(0,101,3):
    if x%10==2:
        count+=1
print(count)
进阶题

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

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

    #方法一
    num=int(input("请输入正整数:"))
    for x in range(0,10):
        if num//(10**x)>=1:
            continue
        print(x)
        break
        
    #方法二 
    num=int(input("请输入正整数:"))
    n=0
    x=0
    while n<1:
        if num//(10**x)>=1:
            x+=1
        else:
            break
    print(x)
    

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

    ⼀个⽔仙花数,因为 1³ + 5³ + 3³ 等于 153。

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

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

    k=0
    num=int(input("请输入正整数:"))
    for x in range (2,num):
        if num%x==0:
            k+=1
    if k==0:
        print('素数')
    else:
        print('不是素数')
    

    输出9*9口诀。 程序分析:分行与列考虑,共9行9列,i控制行,j控制列

    for i in range(1,10):
        for j in range(1,i+1):
            print(i,'*',j,'=',i*j,end="  ")
        print('')
    

    这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?(可以直接使用穷举法)

for small in range(0,101):
    for mid in range(0,101):
        for big in range(0,101):
            if big+mid+small==100 and big*3+mid*2+small/2==100:
                print('大马',big,'匹'',''中马',mid,'匹'',''小马',small,'匹','。')

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/740435.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号