乐学python_铁乐学python_day01-作业

第一题:使用while循环输入 1 2 3 4 5 6 8 9 10

# 使用while循环输入 1 2 3 4 5 6 8 9 10

count = 0

while (True) :

count = count + 1

#判断当count等于7的时候,返回循环最初,不执行下面的打印等语句

if count == 7:

continue

print (count)

#判断当count等于10的时候,跳出循环。

if count == 10:

break

思路是设置一个初始值count,然后开始循环,自增1;

加if判断语句,当count为7时使用continue跳过打印7;

当count为10时,使用break中断和跳出循环。

敲的时候出了很多规范性的错,

比如没有使用英文的冒号,

没有对应缩进区块,

== 错敲成了=,这两者的区别,

前者是比较值,后者是直接赋值。

更优雅的写法应该是while的同时将其中满足跳出循环的条件也给上,节省代码行数,也比较优雅易懂。

例如以下:

#计数初始为0

count = 0

#当count小于10时,进行循环,反之则是中止循环,不需要用到break

while ( count < 10 ) :

count = count + 1

#当count为7时使用continue跳过打印7;

if count == 7:

continue

print (count)

对比两例可看出,有效代码行数从8行节省到6行,关键是易读性提高了。

第二题:求1-100的所有数的和

# 求1-100的所有数的和

# 求和,故除设置初始计数的count变量外,还应设置多一个sum和的变量

count = 0

sum = 0

# 注意,设置满足的条件我最初设的是小于101,结果得数把101也算进去了,

# 排查后发现是count自增1,到count为99的时候再加1就是100了,条件设为小于100才是刚刚好。

while (count < 100):

#计数器自增1

count = count + 1

#和数和计数器相加

sum = sum + count

#循环中止的时候我们输出结果,注意字符串只能和字符串拼接,所以sum要用str转义

print (‘1-100的所有数之和为:‘+str(sum))

第三题 输出 1-100 内的所有奇数

odd = 1

while (odd < 101):

print (odd)

#奇数的特质之一是从1开始,自身加2后的数同样也是奇数

odd = odd + 2

如果换另一种思路,从奇数的另一个特质,被2除后都余1来输出的话会怎么样呢?

odd = 0

while (odd < 100):

odd = odd + 1

#取余来进行判断,余数为1则输出打印,不用对余数为0的情况再进行判断。

if (odd % 2 == 1) :

print (odd)

注意,上面敲代码的时候我缩进的时候混合使用了tab键和spaces键以致报错。

所以python在对缩进规范这里要求挺严的,嗯,要优雅,不要慌乱。

第四题:输出1-100内的所有偶数

# 输出 1-100 内的所有偶数

even = 0

while (even < 100):

even = even + 1

#对even进行取余运算,等于0的则打印输出even

if even % 2 == 0:

print (even)

这题与第三题是同类型的,不多作叙述。

第五题:求1-2+3-4+5 ... 99的所有数的和

# 求1-2+3-4+5 ... 99的所有数的和

# 计数器初始为0,和也初始为0

count = 0

sum = 0

while (count < 99):

count = count + 1

#当count是偶数时(取余为0)就被和相减

if count % 2 == 0:

sum = sum - count

#加上continue来控制它不再执行下面的语句,又周而复始进行下一次循环

continue

#反之,奇数时直接相加

sum = sum + count

#别忘了将得出的sum结果输出给用户,str转义成字符串与提示拼接。

print (‘1-2+3-4+5...99的所有数的和为:‘+str(sum))

第六题:模拟用户登录(三次机会重试)

# 用户登录(三次机会重试)

# 这里题意比较含糊,实际上现在还是基础阶段,

# 老师这题的意思是大致让你模拟出人机交互及认证三次

# 故定义用户名和密码变量如下:

username = ‘tiele‘

password = ‘ABCabc123‘

#认证计数器初始为3

count = 3

#开始三次认证循环

while (count > 0):

#开始人机交互,分别输入用户名和密码

name = input ("请输入用户名:")

#需要给个pass让用户进行输入交互

pass

passwd = input ("请输入密码:")

if username == name and password == passwd :

print ("你已成功登录")

#成功登录后当然要break跳出循环

break

else:

#输错机会减1并给出提示

count = count - 1

print ("用户名或密码错误,你还有"+str(count)+"次机会进行验证。")

最初我做这题的时候是用了机会初始为0,增加到3则中止循环的方式,后来对照了一下同学的,感觉的确使用初始机会为3,然后能逐次-1并提示的思路人性化一点。

后来发觉有别的同学用的是我最初的0增到3的思路,直接提示登录失败,到3次时提示超过三次登录失败,请稍后重试,也是很符合常见的情境。

所以是感觉都可以。

至此,day1的作业就全部完成了。

2018-3-17

end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537364.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大道至简: 拉新、促活和留存

互联网运营中的拉新、促活和留存思维&#xff0c;从来不局限于互联网产品里&#xff0c;在传统行业里也是通用的&#xff0c;比如一家理发店的经营也是如此。 互联网运营中的拉新、促活和留存思维&#xff0c;从来不局限于互联网产品里&#xff0c;在传统行业里也是通用的。比如…

python3的pyqt5 qtablewidget按数据大小排列_InnoDB为什么要选择B+树来存储数据?

关于InnoDB索引&#xff0c;我们可能知道InnDB索引是用B树实现的&#xff0c;而B树就是一种能优化查询速度的数据结构。但我们又没想过这样一个问题&#xff0c;能优化查询速度的数据结构有很多&#xff0c;为什么InnoDB要采用B树&#xff1f;常见优化查询速度数据结构哈希表哈…

数据仓如何支撑应用?

数据仓支撑应用&#xff0c;主要有以下步骤&#xff1a; 1.应用部门&#xff1a;在“宁波市公共数据目录平台”按需申请省市共享数据&#xff0c;申请的表审批通过后&#xff0c;提交《审批通过的表清单》给大数据中心&#xff1b; 2.大数据中心&#xff1a;比对《审批通过的…

辛苦俩月总结的面试题,掌握它怼翻面试官不是梦~

小编经过一个多月的不懈努力&#xff0c;给大家总结了一份面试方面的题目。这份面试题涉及高并发、分布式、高可用相关知识点&#xff0c;在此分享给大家&#xff0c;希望大家能拿到一份理想的 Offer&#xff01;因为是笔试题目&#xff0c;大家可以先做。如果需要查看答案&…

python坐标转化极坐标_python 坐标系

广告关闭提供包括云服务器&#xff0c;云数据库在内的50款云计算产品。打造一站式的云产品试用服务&#xff0c;助力开发者和企业零门槛上云。写在前面的话01 今天资源君带大家学习一下python的可视化&#xff0c;何谓可视化呢&#xff1f; 我们常常听说python的数据分析&#…

百家号 不被推荐,原因:将旧闻冒充新闻发布,请修改后重新发布

1.情景展示 在百家号进行创作的作者&#xff0c;发布文章时&#xff0c;难免会遇到审核不通过&#xff0c;下面说一下其中一种情况&#xff1a; 不被推荐&#xff0c;原因&#xff1a;将旧闻冒充新闻发布&#xff0c;请修改后重新发布. 2.解决方案 出现这种情况&#xff0c;原…

java字符串常量池——字符串==比较的一个误区

转自&#xff1a;https://blog.csdn.net/wxz980927155/article/details/81712342 起因 再一次js的json对象的比较中&#xff0c;发现相同内容的json对象使用比较并不相等。 例如&#xff1a; var obj {}; var obj2 {}; console.log(obj obj2); // 结果为false json在js中代表…

java注解_Java注解教程及自定义注解

Java注解提供了关于代码的一些信息&#xff0c;但并不直接作用于它所注解的代码内容。在这个教程当中&#xff0c;我们将学习Java的注解&#xff0c;如何定制注解&#xff0c;注解的使用以及如何通过反射解析注解。Java1.5引入了注解&#xff0c;当前许多java框架中大量使用注解…

Git设置忽略eclipse配置文件

概述 eclipse的配置文件是不能公用的&#xff0c;不同电脑上的eclipse配置文件内容是不一样的&#xff0c;如果将eclipse配置文件上传到了git&#xff0c;其他开发下载后&#xff0c;导入项目&#xff0c;有些报错就是因为配置文件关系 操作 在git的忽略文件“.gitignore”里…

MySQL 时间函数

A. timestampdiff() 传三个参数&#xff0c;第一个时间类型如年&#xff0c;月&#xff0c;日&#xff0c;第二个开始时间&#xff0c;第三个结束时间select test_name, timestampdiff(YEAR,create_time,end_time) y_date from test_table; --计算时间 -------------------| te…

jdk安装包_第一章(第1节):安装JDK

对于 jdk 的安装&#xff0c;网上有很多种图文解说&#xff0c;但是老鸟发现它们大都不严谨&#xff0c;非常不适合小白。本节课&#xff0c;老鸟就给大家做个小白教程&#xff0c;无论你多么菜&#xff0c;你一定可以安装上&#xff0c;否则你加我微信&#xff0c;我给你打五毛…

eclipse 国内镜像高速下载

概述 eclipse是优秀的老牌IDE&#xff0c;使用eclipse是一种身份的象征&#xff0c;代表了老程序员。eclipse每年都会更新&#xff0c;也越来越好用。但下载的时候&#xff0c;速度一直有点慢&#xff0c;eclipse官网提供了国内镜像&#xff0c;下载很快。 操作步骤 第一步&…

matlab图像去毛刺_警微圈 图像处理第三讲CLAHE

警微圈图像处理100讲 第三讲《限制对比度自适应直方图均衡化》- 圈语 -为给圈粉们提供一些结合公安工作的实用图像处理方法&#xff0c;小编为大家准备了一些程序处理算法(附带代码)。小编使用的图像处理软件是matlab(该软件关注警微圈后台回复“matlab”即可获得下载资源)&…

Java 使用 POI 操作 Excel

Apache POI 基本介绍 Apache POI 是 Apache 软件基金会提供的 100% 开源库。支持 Excel 库的所有基本功能。 图片来源&#xff1a;易百教程 基本概念 在 POI 中&#xff0c;Workbook代表着一个 Excel 文件&#xff08;工作簿&#xff09;&#xff0c;Sheet代表着 Workbook 中的…

Microsoft Project 变更项目日历的注意事项

场景 今天在修改一份mpp排期计划里的项目日历&#xff0c;日历是设置了周末2天加班&#xff0c;变更后发现&#xff0c;排期缩短的天数不对。一开始以为是Project软件出问题了&#xff0c;与windows11不兼容&#xff0c;重启了电脑&#xff0c;重试后还是这样&#xff0c;后来…

python共享单车案例分析_python分析数据分析项目:共享单车租用情况影响因素探索分析...

python分析数据分析项目&#xff1a;共享单车租用情况影响因素探索分析

第十九节TypeScript 模块

1、TypeScript模块&#xff1a; 模块是在其自身的作用域里执行&#xff0c;并不是在全局作用域&#xff0c;这意味着定义在模块里面的变量、函数和类等在模块外部是不可见的&#xff0c;除非明确地使用 export 导出它们。类似地&#xff0c;我们必须通过 import 导入其他模块导…

微软宣布 Edge 浏览器将切换至 Chromium 内核

简述 据微软官方 blog的消息&#xff0c;windows 的默认浏览器 Edge将切换内核至 Chromium&#xff0c;并且微软将秉承开源精神&#xff0c;在未来更多的为 Chromium项目贡献代码。 微软具体说了什么&#xff1f; 原文如下&#xff1a; For the past few years, Microsoft has …

解决the resource is not on the build path of a java project

场景 普通的Java project 转maven 项目后&#xff0c;导入类提示&#xff1a;the resource is not on the build path of a java project 解决方法 将检查java build source&#xff0c;将报错的删除&#xff0c;重新添加src资源包