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和它本身整除这里

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

相关文章
|
1天前
|
数据采集 前端开发 Java
Python简单爬虫案例
用pyhton从网页中爬取数据,是比较常用的爬虫方式。网页一般由html编写,里面包含大量的标签,我们所需的内容都包含在这些标签之中,除了对python的基础语法有了解之外,还要对html的结构以及标签选择有简单的认知,下面就用爬取fl小说网的案例带大家进入爬虫的世界。
|
5天前
|
数据挖掘 数据处理 Python
Python编程入门:从基础到实践
【6月更文挑战第26天】这篇文章引导读者逐步学习Python编程,从基础语法如变量、数据类型(整数、浮点数、字符串)到条件语句、循环(if/for/while),再到函数定义和模块导入。通过实例展示了Python在文本处理、数据分析(使用pandas)和Web开发(使用Flask)的应用。学习Python能为初学者开启更广阔的技术领域,如面向对象编程、并发和网络编程等。
|
4天前
|
自然语言处理 编译器 PHP
Python入门
【6月更文挑战第27天】Python入门。
10 3
|
2天前
|
数据采集 前端开发 Java
Python简单爬虫案例
用pyhton从网页中爬取数据,是比较常用的爬虫方式。网页一般由html编写,里面包含大量的标签,我们所需的内容都包含在这些标签之中,除了对python的基础语法有了解之外,还要对html的结构以及标签选择有简单的认知,下面就用爬取fl小说网的案例带大家进入爬虫的世界。
|
8天前
|
人工智能 数据挖掘 大数据
538个代码示例!麻省理工教授的Python程序设计+人工智能案例实践
Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。 此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。 尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Python编程与数据分析、人工智
|
5天前
|
Python
Python实用案例代码详解
Python实用案例代码详解
12 2
|
10天前
|
机器学习/深度学习 自然语言处理 数据可视化
文本挖掘与可视化:生成个性化词云的Python实践【7个案例】
词云(Word Cloud),又称为文字云或标签云,是一种用于文本数据可视化的技术,通过不同大小、颜色和字体展示文本中单词的出现频率或重要性。在词云中,更频繁出现的单词会显示得更大,反之则更小。
|
22小时前
|
缓存 监控 程序员
Python中的装饰器是一种特殊类型的声明,它允许程序员在不修改原有函数或类代码的基础上,通过在函数定义前添加额外的逻辑来增强或修改其行为。
【6月更文挑战第30天】Python装饰器是无侵入性地增强函数行为的工具,它们是接收函数并返回新函数的可调用对象。通过`@decorator`语法,可以在不修改原函数代码的情况下,添加如日志、性能监控等功能。装饰器促进代码复用、模块化,并保持源代码整洁。例如,`timer_decorator`能测量函数运行时间,展示其灵活性。
7 0
|
4天前
|
Python
python3 入门学习笔记
python3 入门学习笔记
5 0
|
4天前
|
人工智能 数据挖掘 大数据
538个代码示例!麻省理工教授的Python程序设计+人工智能案例实践
Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。 此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。 尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Python编程与数据分析、人工智