Chinaunix首页 | 论坛 | 博客
  • 博客访问: 77748
  • 博文数量: 36
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2015-10-08 13:58
文章分类
文章存档

2015年(36)

我的朋友

分类: Python/Ruby

2015-10-08 22:15:46

   今天来简单看看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才设置了这个要求。代码执行结果如图:
阅读(586) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~