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

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

相关文章
|
19天前
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
19天前
|
Python
深入理解Python装饰器:从入门到实践####
本文旨在通过简明扼要的方式,为读者揭开Python装饰器的神秘面纱,从基本概念、工作原理到实际应用场景进行全面解析。不同于常规的摘要仅概述内容概要,本文将直接以一段精炼代码示例开篇,展示装饰器如何优雅地增强函数功能,激发读者探索兴趣,随后深入探讨其背后的机制与高级用法。 ####
47 11
|
16天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
16天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
16天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
22天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
64 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
6天前
|
设计模式 缓存 开发者
Python中的装饰器:从入门到实践####
本文深入探讨了Python中强大的元编程工具——装饰器,它能够以简洁优雅的方式扩展函数或方法的功能。通过具体实例和逐步解析,文章不仅介绍了装饰器的基本原理、常见用法及高级应用,还揭示了其背后的设计理念与实现机制,旨在帮助读者从理论到实战全面掌握这一技术,提升代码的可读性、可维护性和复用性。 ####
|
15天前
|
设计模式 缓存 开发框架
Python中的装饰器:从入门到实践####
本文深入探讨了Python中装饰器的工作原理与应用,通过具体案例展示了如何利用装饰器增强函数功能、提高代码复用性和可读性。读者将学习到装饰器的基本概念、实现方法及其在实际项目开发中的实用技巧。 ####
26 3
|
19天前
|
机器学习/深度学习 数据采集 数据可视化
Python在数据科学中的应用:从入门到实践
本文旨在为读者提供一个Python在数据科学领域应用的全面概览。我们将从Python的基础语法开始,逐步深入到数据处理、分析和可视化的高级技术。文章不仅涵盖了Python中常用的数据科学库,如NumPy、Pandas和Matplotlib,还探讨了机器学习库Scikit-learn的使用。通过实际案例分析,本文将展示如何利用Python进行数据清洗、特征工程、模型训练和结果评估。此外,我们还将探讨Python在大数据处理中的应用,以及如何通过集成学习和深度学习技术来提升数据分析的准确性和效率。
|
18天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。