Python 入门必备-逻辑判断综合案例讲解|学习笔记

简介: 快速学习 Python 入门必备-逻辑判断综合案例讲解

开发者学堂课程【Python 开发基础入门Python 入门必备-逻辑判断综合案例讲解】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/556/detail/7654?


Python 入门必备-逻辑判断综合案例讲解


目录:

一、练习

二、范例


一、练习

1. 打印一个边长为n的正方形口求100内所有奇数的和

2. 求一百以内所有奇数和

3.判断学生成绩,成绩等级A~E。其中,90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'

4.求1到5阶乘之和

5.给一个数,判断它是否是素数(质数)

6.质数:一个大于1的自然数只能被1和它本身整除


二、范例

1.打印一个边长为n的正方形,要求要一个空心正方形。

让行距拉起来以后变成一个矩型,用大部分增加正方一点。第一行打印,一排过去,第二行空格,然后重复了好几下之后,最后又打印一行,跟第一行一样,发现中间有重复,那个就是迭代,就是for循环。还发现第一行和最后一行不一样,就是解决问题办法,来解决问题的办法关键迭代和for循环。

打印一个边长为n的正方形,中间有重复,就是叠代。

1)

n=int(input('正方形边数')) #4 这里假设n等于4

print('*'*n)      #****

for i in range(n-2):

print('*','*(n-2),'*')

print('*'*n)#****

假设是个四边形,用最简单来带,先打印然后最后打印,中间n-2然后做迭代然后去凑。找到规律并用到循环。

2)

#打印一个边长为n的正方形

n=int (input ("Input the square"s length>>>""))

sepTop = "*"

sepMid = "* "

for i in range (0,n):

sepTop t- "\t* "

sepMid += "\t"中间加/t凑个星。

else:

sepMid +=“*"

print (sepTop)

print (sepMid)

#for i in range(o,n-1):

#print (sepaMid)

else:

#print("\n")

#print(sepTop)

for i in range(0,n-1):

print ("\n")

print (sepMid)

else :

print ( "\n")首行凑齐就可以打印

print ( septop)

运行结果:

Input the squares length>>>5

最后凑一个所谓top,在里面设计了中间的和顶上的,用上了for else,这些东西在循环中不停迭代,再把它凑出来没有用再用break,上面只有能够迭代就行,这个数假设给了个3,这里都正常执行,再用else语句没在打印。

3)

print (sepTop)

a=int(input('>>>" ))

i=0

while i<-(a-1) :

if i==o or i==( a-1):  这个就是迭代条件

print ('*’*a)

else:

print ( '*‘+’ ‘* (a-2)+'* ')

i+=1

这里可以更间简单和美观用for循环,有更好的写法,当知道能循环多少次的时候用for循环。

4)

number=int (input ( "Please input a number : "))

print (**number)

for i in range (number-2:   #3

for j in range ( number) :    

#如果碰到0=number5,j是0-4,number还是5,如果j=0或者等于5的时候,j的取值范围是,range的取值范围是0-4

If j==0 or j==(number):这个条件没有起作用

print ( '*'+’ ‘* (number-2)+’*')

else:

print ( ‘*’*number)

代码执行结果:

Please input a number:5

1、这两种嵌套,复杂程度过高。

2、这个程序虽然能实现,但两层嵌套的效率可能会低一点,当引入嵌套程度更多的时候,他的效率不一定会高。

3、所以j不能等于5,没有用到,j=0的时候才打印,j=1234就循环走了。有许多无用代码要把它去掉。

5)

X= int( input( "number") )

print(x*”*”)

for i in range(x-2):

Printf("*"十(x-2)*" "+”*")

print (x**)

2.for i in range ( o,n) :

sepTop += "\t* "

sepMid += "\t "

else:

sepMid +="*"

print (sepTop)

for i in range (o,n-1) :

print ( "\n")

print (sepMid)

else:

print ( "\n")

print (sepTop)

2.这个题可以变成一种对称,当然也有非对称的地方,对称的地方可以变化:

范例答案:

1)

n = 5

print(*'*n)

for i in range(n-2):

print(*'+'*(n-2)+'*')

print(*'*n)

2)

Range函数的新方式

边为3,则-1 0 1 => range(-1,2)

边为4,则-2-10 1 => range(-2,2)range函数就是-2 - 2

边为5,则-2 -1 0 1 2 => range(-2,3)通过这样的推特过程把range函数推出来

n=5

e = -n//2

for i in range(e,n+e):(这里-1-1没办法)

if i == e or i == n+e-1:这里是底

print(’*’*n)

else:

print('*'+ '*(n-2)+'*')

最有价值的不在效率,而在它的思维过程。

左边已经写的够高效的,range函数还有其他玩法。写程序,不要局限于现有的方法。

要打破原来的方法,现在手段很多,但是以后发现原来这个手段发现这个场景下这种手段最好用,那就把左边已经是很精简了。搞这么复杂说明有些场景下,用对称性来解决问题的时候,会发现写的会比较漂亮。但是因为一些特殊性,当然可以在这上面再做一些改动。

2.求一百以内所有奇数和(2500 (累加)

sum = 0

for a in range ( 1,100,2) :

sum+= a

print (sum)

1)

J=0

for i in range (0,100):

if i%2!=0 :

j+=1

print ("sum = ",J)

运行结果:

Sum=2500

奇偶的时候因为每一次在这儿要算一次。但是这是一种实现,这没有问题就没有问题,所以这块就是跳过一些无用功。

2)

b = o

for i in range ( 1,100,2):

b += i

print (b

能跳过就跳过

3)

sum=0

for i in range (1,100,2):

sum +=i

print(sum)

变量用sum的好,请注意之后对格式有要求,比如两边留空格

代码风格看出写没写过代码

4)

#打印100以内奇数之和

sum =0

for a in range (i,100, 2):

sum+=a

print(sum)

如果已经跳过去,就不用算了

score = int(input('input a score: " ) )

if score >=70:

if score <=79:

print( ‘C')

elif score <= 89:

print ('B')

else :

print ( 'A')

else :

if score >=60:

print ( 'D')

else :

print ( 'E')

3. 判断学生成绩,成绩等级A~E。其中,90分以上为'A',80~89分为'B',70~79分为C',60~69分为'D',60分以下为E'

这个问题,其实就是做一下判断,90 80 70 60分如果说要不要迭代,发现好像这个方式也不合适,因为每次打印东西不太一样,也就说每一个区间它的规律的似乎有,但是又没什么太多规律。

abcde上看是有规律,90,80,70,60也有规律。规律其实存在的,可以写出一个迭代版本,就在循环里面它是有规律的,只是做太不划算了。

1)

a=int (input("请输入学生成绩:"))

if a>=80:

If a>90:

print( A)

else :

print ( 'B)

elif a>=60:

if a>70:

print ( 'C)

else:

print ('D)

else:

print ( 'E')

对于大的空间搜索的问题,要考虑要不要折半。

直接看到是不是大于90,有的时候要考虑一下,这里本来就是有限个判断。就说现在有的时候,不要过多的去想。

但是对于一个大的空间中去搜索的问题,这个时候发现是不是在很大一个区间内来回变化?

这个时候就不确定他应该是在哪儿,建议用折半的思想来说搜索效率更高,这个边界由自己来定义。

要判断这个数是几位数,会发现在很大区间来回变换,用折半思想会发现搜索效率更高。

2)score = int(input ( 'input a score: "))

if score >=70:

ifscore <-=79:

print ('C')

elif score <= 89:

print('B')

else:

print ( 'A')

else:

if score >= 60:

print ('D')

else :

print ( 'E')

不管是正的,逆的都可以的,也用是折半,这种小空间用不用都行。

3)

Num=intinput(Please num : "))

while 0<=num <=100:

if num < 60:

print ("E")

break

elif num< 70:

print ("D")

break

elif num < 80:

print ("C")

elif num < 90:

print (""B")

break

else:

print ("A")

Break

因为有 if 有 else 总有一个分支是可以循环的,一进去就 break 了。他用的这个where 条件,因为条件是肯定式,这进去以后如果小于60就是e,小于70,小于八十,如果严格90及90以上等于a,就要加等号了。

对于刚才,给一个数,判断它是否是素数(质数)

质数:一个大于1的自然数只能被1和它本身整除这里

牵扯到算法的问题,但是要把质数算出来。

相关文章
|
22天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
10天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
15天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
25天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【10月更文挑战第42天】本文是一篇技术性文章,旨在为初学者提供一份关于如何使用Python进行数据分析的入门指南。我们将从安装必要的工具开始,然后逐步介绍如何导入数据、处理数据、进行数据可视化以及建立预测模型。本文的目标是帮助读者理解数据分析的基本步骤和方法,并通过实际的代码示例来加深理解。
36 3
|
26天前
|
JSON Linux 数据格式
Python模块:从入门到精通,只需一篇文章!
Python中的模块是将相关代码组织在一起的单元,便于重用和维护。模块可以是Python文件或C/C++扩展,Python标准库中包含大量模块,如os、sys、time等,用于执行各种任务。定义模块只需创建.py文件并编写代码,导入模块使用import语句。此外,Python还支持自定义模块和包,以及虚拟环境来管理项目依赖。
Python模块:从入门到精通,只需一篇文章!
|
11天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
11天前
|
测试技术 开发者 Python
探索Python中的装饰器:从入门到实践
装饰器,在Python中是一块强大的语法糖,它允许我们在不修改原函数代码的情况下增加额外的功能。本文将通过简单易懂的语言和实例,带你一步步了解装饰器的基本概念、使用方法以及如何自定义装饰器。我们还将探讨装饰器在实战中的应用,让你能够在实际编程中灵活运用这一技术。
26 7
|
12天前
|
开发者 Python
Python中的装饰器:从入门到实践
本文将深入探讨Python的装饰器,这一强大工具允许开发者在不修改现有函数代码的情况下增加额外的功能。我们将通过实例学习如何创建和应用装饰器,并探索它们背后的原理和高级用法。
27 5
|
11天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
33 3
|
15天前
|
Python
Python编程入门:从零开始的代码旅程
本文是一篇针对Python编程初学者的入门指南,将介绍Python的基本语法、数据类型、控制结构以及函数等概念。文章旨在帮助读者快速掌握Python编程的基础知识,并能够编写简单的Python程序。通过本文的学习,读者将能够理解Python代码的基本结构和逻辑,为进一步深入学习打下坚实的基础。