1.0.0 Summary
Tittle:【Python】-NO.99.Note.4.Python -【Python3 条件语句 循环语句】
Style:Python
Series:Python
Since:2018-07-08
End:2018-07-08
Total Hours:30+
Degree Of Diffculty:5
Degree Of Mastery:5
Practical Level:5
Desired Goal:5
Archieve Goal:3
Gerneral Evaluation:3
Writer:kingdelee
Related Links:
http://www.cnblogs.com/kingdelee/
http://www.runoob.com/python3/python3-basic-syntax.html
1.
if 判断条件: 执行语句…… else: 执行语句…… flag = False name = 'luren' if name == 'python': # 判断变量否为'python' flag = True # 条件成立时设置标志为真 print 'welcome boss' # 并输出欢迎信息 else: print name # 条件不成立时输出变量名称 if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3…… else: 执行语句4…… num = 5 if num == 3: # 判断num的值 print 'boss' elif num == 2: print 'user' elif num == 1: print 'worker' elif num < 0: # 值小于零时输出 print 'error' else: print 'roadman' # 条件均不成立时输出
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
# 例3:if语句多个条件 num = 9 if num >= 0 and num <= 10: # 判断值是否在0~10之间 print 'hello' # 输出结果: hello num = 10 if num < 0 or num > 10: # 判断值是否在小于0或大于10 print 'hello' else: print 'undefine' # 输出结果: undefine num = 8 # 判断值是否在0~5或者10~15之间 if (num >= 0 and num <= 5) or (num >= 10 and num <= 15): print 'hello' else: print 'undefine' # 输出结果: undefine
你也可以在同一行的位置上使用if条件判断语句,如下实例:
var = 100 if ( var == 100 ) : print "变量 var 的值为100" print "Good bye!"
Python 循环语句
while循环:
count = 0 while (count < 9): print 'The count is:', count count = count + 1 print "Good bye!"
i = 1 while i < 10: i += 1 if i%2 > 0: # 非双数时跳过输出 continue print i # 输出双数2、4、6、8、10 i = 1 while 1: # 循环条件为1必定成立 print i # 输出1~10 i += 1 if i > 10: # 当i大于10时跳出循环 break
无限循环
var = 1 while var == 1 : # 该条件永远为true,循环将无限执行下去 num = raw_input("Enter a number :") print "You entered: ", num print "Good bye!"
循环使用 else 语句
在 python 中,while … else 在循环条件为 false 时执行 else 语句块:
count = 0 while count < 5: print count, " is less than 5" count = count + 1 else: print count, " is not less than 5"
简单语句组
类似 if 语句的语法,如果你的 while 循环体中只有一条语句,你可以将该语句与while写在同一行中, 如下所示:
flag = 1 while (flag): print 'Given flag is really true!' print "Good bye!"
Python for 循环语句
for iterating_var in sequence: statements(s)
for letter in 'Python': # 第一个实例 print '当前字母 :', letter fruits = ['banana', 'apple', 'mango'] for fruit in fruits: # 第二个实例 print '当前水果 :', fruit
通过序列索引迭代
另外一种执行循环的遍历方式是通过索引,如下实例:
fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print '当前水果 :', fruits[index] 当前水果 : banana 当前水果 : apple 当前水果 : mango
循环使用 else 语句
for num in range(10,20): # 迭代 10 到 20 之间的数字 for i in range(2,num): # 根据因子迭代 if num%i == 0: # 确定第一个因子 j=num/i # 计算第二个因子 print '%d 等于 %d * %d' % (num,i,j) break # 跳出当前循环 else: # 循环的 else 部分 print num, '是一个质数'
rows = int(raw_input('输入列数: ')) i = j = k = 1 #声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数 #等腰直角三角形1 print "等腰直角三角形1" for i in range(0, rows): for k in range(0, rows - i): print " * ", #注意这里的",",一定不能省略,可以起到不换行的作用 k += 1 i += 1 print " " #打印实心等边三角形 print "打印空心等边三角形,这里去掉if-else条件判断就是实心的" for i in range(0, rows + 1):#变量i控制行数 for j in range(0, rows - i):#(1,rows-i) print " ", j += 1 for k in range(0, 2 * i - 1):#(1,2*i) if k == 0 or k == 2 * i - 2 or i == rows: if i == rows: if k % 2 == 0:#因为第一个数是从0开始的,所以要是偶数打印*,奇数打印空格 print "*", else: print " ", #注意这里的",",一定不能省略,可以起到不换行的作用 else: print "*", else: print " ", k += 1 print " " i += 1 #打印菱形 print "打印空心等菱形,这里去掉if-else条件判断就是实心的" for i in range(rows):#变量i控制行数 for j in range(rows - i):#(1,rows-i) print " ", j += 1 for k in range(2 * i - 1):#(1,2*i) if k == 0 or k == 2 * i - 2: print "*", else: print " ", k += 1 print " " i += 1 #菱形的下半部分 for i in range(rows): for j in range(i):#(1,rows-i) print " ", j += 1 for k in range(2 * (rows - i) - 1):#(1,2*i) if k == 0 or k == 2 * (rows - i) - 2: print "*", else: print " ", k += 1 print " " i += 1 #实心正方形 print "实心正方形" for i in range(0, rows): for k in range(0, rows): print " * ", #注意这里的",",一定不能省略,可以起到不换行的作用 k += 1 i += 1 print " " #空心正方形 print "空心正方形" for i in range(0, rows): for k in range(0, rows): if i != 0 and i != rows - 1: if k == 0 or k == rows - 1: #由于视觉效果看起来更像正方形,所以这里*两侧加了空格,增大距离 print " * ", #注意这里的",",一定不能省略,可以起到不换行的作用 else: print " ", #该处有三个空格 else: print " * ", #这里*两侧加了空格 k += 1 i += 1 print " "
输入列数: 4 等腰直角三角形1 * * * * * * * * * * 打印空心等边三角形,这里去掉if-else条件判断就是实心的 * * * * * * * * * 打印空心等菱形,这里去掉if-else条件判断就是实心的 * * * * * * * * * * * * 实心正方形 * * * * * * * * * * * * * * * * 空心正方形 * * * * * * * * * * * *
Python 循环嵌套
Python for 循环嵌套语法:
for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s)
Python while 循环嵌套语法:
while expression: while expression: statement(s) statement(s)
以下实例使用了嵌套循环输出2~100之间的素数: i = 2 while(i < 100): j = 2 while(j <= (i/j)): if not(i%j): break j = j + 1 if (j > i/j) : print i, " 是素数" i = i + 1
Python pass 语句
pass 不做任何事情,一般用做占位语句。
# 输出 Python 的每个字母 for letter in 'Python': if letter == 'h': pass print '这是 pass 块' print '当前字母 :', letter
当前字母 : P
当前字母 : y
当前字母 : t
这是 pass 块
当前字母 : h
当前字母 : o
当前字母 : n