if语句
if condition:
代码块
condition必须是一个bool类型,这个地方有一个隐式转换bool(condition)
if 1<2:
print('1 less than 2')
代码块也就是类似于if语句的冒号后面的就是一个语句块,在if,for,def,Class等的后面。
多条件分支:
if……elif……else语句。
a = 5 if a<0: print('negative') elif a==0: print('zero') else: print('positive') 结果为: positive
score = 80 if score<0: print('wrong') else: if score==0: print('egg') elif score <= 100: print('right') else: print('too big')结果为:right
val = input('>>>') val = int(val) if val >= 1000: #fold if val>=10000: print(5) else: print(4) else: if val>=100: print(3) elif val >= 10: print(2) else: print(1)
while 循环
while condition:
block
当条件满足即condition为True,进入循环体,执行block 。要注意不要进入死循环。
flag=10 while flag: print(flag) flag -= 1 结果为10到1
count = 1 while count <= 10: print( count) count = count + 1 if count == 5: break # 彻底停止循环. 不会执行后面的else else: # while条件不成立的时候执行 print("这里是else") 结果为: 1 2 3 4
for循环
or element in iteratable:
block
当可迭代对象中有元素可以迭代,进入循环体,执行block 。
for i in range(10): print(i+1) 结果为: 1-10
循环 continue语句
中断当前循环的当次执行,继续下一次循环
for i in range(0,10): if i & 1: continue print(i) 结果为: 0,2,4,6,8
循环 break语句
终止当前循环
count = 0 for i in range(0,1000,7): print(i) count += 1 if count >= 20: break 结果为: 0 7 14 21 28 35 42 49 56 63 70 77 84 91 98 105 112 119 126 133
continue和break是循环的控制语句,只影响当前循环,包括while、for循环 ,如果循环嵌套, continue和break也只影响语句所在的那一层循环 ,continue和break 不是跳出语句块,所以 if cond: break 不是跳出if,而是终止if外的break所在的循环。
给定一个不超过5位的正整数,判断该数的位数,依次打印出个位、十位、百位、千位、万位的数字
num = int(input("请输入一个不大于5位数的数字:")) if num>10000: a=5 print("你输入的是{}位数".format(a)) elif num > 1000: a=4 print("你输入的是{}位数".format(a)) elif num>100: a=3 print("你输入的是{}位数".format(a)) elif num>10: a=2 print("你输入的是{}位数".format(a)) else: a=1 print("你输入的是{}位数".format(a)) c = num for i in range(a): n = c // 10 print(c - n*10) c=n
给定一个不超过5位的正整数,判断该数的位数,依次从万位打印到个位的数字
num = int(input("请输入一个不大于5位数的数字:")) if num>10000: a=5 print("你输入的是{}位数".format(a)) elif num > 1000: a=4 print("你输入的是{}位数".format(a)) elif num>100: a=3 print("你输入的是{}位数".format(a)) elif num>10: a=2 print("你输入的是{}位数".format(a)) else: a=1 print("你输入的是{}位数".format(a)) pre = 0 for i in range(a,0,-1): cur = num//(10**(i-1)) print(cur - pre*10) pre = cur
循环 else子句
while condition:
block
else:
block
for element in iteratable:
block
else:
block
如果循环正常的执行结束,就执行else子句;如果使用break终止,else子句不会执行。
来源:https://www.cnblogs.com/xpc51/p/11497687.html