设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 113187|回复: 72
打印 上一主题 下一主题

【Python 第8课】while

[复制链接]

12

主题

0

好友

81

积分

注册会员

Rank: 2

跳转到指定楼层
楼主
发表于 2013-7-30 21:40:29 |只看该作者 |倒序浏览
先介绍一个新东西:注释。
python里,以“#”开头的文字都不会被认为是可执行的代码。
 print “hello world”

 print "hello world" #输出一行字
是同样的效果。但后者可以帮助开发者更好地理解代码。

在接下来的课程中,我会经常用注释来解释代码。


用if改进完我们的小游戏后,功能已经基本实现了。很多同学做完后纷纷表示,每次只能猜一次,完了之后又得重新run,感觉好麻烦。能不能有办法让玩家一直猜,直到猜中为止?答案很显然,如果这种小问题都解决不了,那python可就弱爆了。


最简单的解决方法就是while。


同if一样,while也是一种控制流语句,另外它也被称作循环语句。继续来看渣画质手绘流程图:

814a5809c93d70cfcf3611b1f9dcd100bba12b37.jpg




程序执行到while处,“当”条件为True时,就去执行while内部的代码,“当”条件为False时,就跳过。

语法为:

while 条件:
 循环执行的语句


同if一样,注意冒号,注意缩进。


今天的栗子:
  1. a = 1 #先a设为1
  2. while a != 0: #a不等于0就一直做
  3.  print "please input"
  4.  a = input()
  5. print "over"
复制代码
想想怎么用while改进小游戏?有多种写法,大家自己思考下,我不多做说明了。下图给出一种方法。


8df996773912b31b8e8576958718367adbb4e112.jpg


注意,这里出现了两层缩进,要保持每层缩进的空格数相同。


到此为止,小游戏已经基本成型了。不过好像还差一点:每次自己都知道答案,这玩起来有神马意思。
明天来讲,怎么让你不知道电脑的答案。


#==== Crossin的编程教室 ====#
微信ID:crossincode
qq群:312723402


面向零基础初学者的编程课
每天5分钟,轻松学编程

f68e6e3d269759eee7be4973b3fb43166c22df15.jpg
边复习边水贴  ---- 搬运工....
回复

使用道具 举报

0

主题

0

好友

4

积分

新手上路

Rank: 1

沙发
发表于 2013-9-29 21:37:26 |只看该作者
关于最后的小游戏,我用的是第七课的办法,结果是刷屏输出判断结果:
num = 10
   print 'Guess what I think?'
   answer = input()
   while answer != num:
       print 'False!'
   if answer == num:
       print 'True!'
为什么呢????
回复

使用道具 举报

0

主题

0

好友

21

积分

新手上路

Rank: 1

板凳
发表于 2013-11-5 17:04:01 |只看该作者
做出来无论输入什么数字,都print ‘too big’
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2013-11-8 13:13:27 |只看该作者
Janie 发表于 2013-11-5 17:04
做出来无论输入什么数字,都print ‘too big’

你是不是python3
或者用了raw_input
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

21

积分

新手上路

Rank: 1

5#
发表于 2013-11-14 10:13:53 |只看该作者
crossin先生 发表于 2013-11-8 13:13
你是不是python3
或者用了raw_input

嗯,用了raw_input,其实后来发现了~~呵呵。话说中间怎么有一部分课都没有的。。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

6#
发表于 2013-11-17 22:53:42 |只看该作者
Janie 发表于 2013-11-14 10:13
嗯,用了raw_input,其实后来发现了~~呵呵。话说中间怎么有一部分课都没有的。。 ...

因为论坛是后来搭建的,中间的课程一直没补上,我实在太懒了。。。
去下载置顶帖里的doc版本吧,然后有问题直接发帖就好了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

7#
发表于 2014-3-3 20:52:30 |只看该作者
是不是让 while 里面有恒成立的等式就能产生一个无限循环了?像酱紫的

03.png (31.43 KB, 下载次数: 896)

03.png

回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

8#
发表于 2014-3-3 20:53:55 |只看该作者
另外为什么我的中文输入会是繁体字啊
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

9#
发表于 2014-3-4 11:07:23 |只看该作者
bright314 发表于 2014-3-3 20:52
是不是让 while 里面有恒成立的等式就能产生一个无限循环了?像酱紫的

是的。
繁体的问题,不知道。。。不是你输入法的问题?
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

54

积分

注册会员

Rank: 2

10#
发表于 2014-4-2 10:13:51 |只看该作者
帖子最后一张图片的最后一行,bingo=True我试了下,不写也没啥问题吧
一个自由主义的堕落文艺男青年
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-24 07:34 , Processed in 0.018368 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部