Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3036418
  • 博文数量: 167
  • 博客积分: 613
  • 博客等级: 中士
  • 技术积分: 5473
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-13 21:35
个人简介

人, 既无虎狼之爪牙,亦无狮象之力量,却能擒狼缚虎,驯狮猎象,无他,唯智慧耳。

文章分类
文章存档

2015年(19)

2014年(70)

2013年(54)

2012年(14)

2011年(10)

分类: Python/Ruby

2014-06-11 15:32:31

   今天来简单看看Python语句的控制结构:条件判断与循环,其实也就是If-Else与While和For的使用,基本的语法同C差不多,但是由于Python中的弱格式书写,从而没有了C中的()与';'等符号,Python使用':'表示一个语句块的开始,而使用缩进来表示是否属于同一个语句块。为了能够尽快抓住重点,我们还是通过代码来分析,先看代码:

点击(此处)折叠或打开

  1. #A Basic Program for If-else, While, For...

  2. import sys

  3. database = [
  4.     ["admin", "123456"],
  5.     ["alice", 'alice123'],
  6.     ["bob", 'bob123']
  7.     ]

  8. while True:
  9.     name = raw_input("Please input your name ('e' for exit): ")
  10.     passwd = raw_input("Please input your password('e' for exit): ")
  11.     if ((name.lower().strip() == 'e') & (passwd.lower().strip() == 'e')):
  12.         print "Access Exit! Thank U!"
  13.         sys.exit()

  14.     elif [name.lower().strip(), passwd.lower().strip()] not in database:
  15.         print "Access Denyed!"
  16.         continue
  17.     else:
  18.         print "Access Success!"
  19.     print "*****Welcome to Computer*****"
  20.     range_num = input("Please input your num for computing sum(1-100)...")
  21.     assert 0 < range_num <= 100, 'Must be 1-100 intenger!'
  22.     sum = 0
  23.     for i in range(1, range_num):
  24.         sum += i*i
  25.     print "The sum of square is: ", sum

  26. raw_input("Enter for exit...")
    代码可以大致分为两个部分:先是对于用户的身份进行验证,通过验证时接着根据用户的输入求相应的平方和。下面具体来说明。
-1. 第五到第九行代码定义了一个用户数据列表,每个用户数据作为一个子列表存储;
-2. 第十一行进入while循环,同C/C++一样,while后面紧跟着条件表达式,只要为True值时就循环执行下面的语句块,比如while x < 5:等,这里直接使用了真值True,用来不断接受用户的输入,除非用户选择退出;
-3. 第十四到第二十二行是通过IF-ELSE结构来实现条件控制,主要是判断:用户是否选择结束?用户是否合法?elif是else if的简写,后面直接跟条件表达式,然后用':'开启语句块即可;
-4. 第二十二行使用了断言(assert),强调用户的输入必须是1-100的整数,若用户输入非法数据,则直接结束程序,并且提示数据输入错误的信息;
-5. 第二十七行使用了for循环,这里只需要一个迭代变量和一个可迭代对象,如列表、元祖、映射;注意for条件之后要通过':'进入语句块;
   由于感觉Python的控制结构同C大同小异,少了很多限制和语法规则,因此没有过多地讲述,希望可以通过这个简单的代码一窥而就。这里没有必要要求用户输入两次'e'实现退出,只是为了体现elif才设置了这个要求。代码执行结果如图:
阅读(6591) | 评论(1) | 转发(2) |
给主人留下些什么吧!~~

dizhuang2014-06-14 13:22:04

写的很好啊