Python基础 - 04控制语句
一、if语句
- if ...
- if ... else ...
- if ... elif ... else ...
import random # 范围为[1,10] ran = random.randint(1,10) print(ran) guess = input('请输入你猜的数字:') if ran == int(guess): print('恭喜猜对了') else: print('猜错了')
三元运算符
格式: 变量 = 值1 if 条件 else 值2
flag = True n = 15 if flag else 13 print(n) # 15
money = 9999 if 100 < money <= 1000: print('奖励1000元!恭喜!') elif 1000 < money <= 5000: print('奖励笔记本一台!') elif 5000 < money <= 50000: print('奖励车一辆!') elif money > 50000: print('奖励房子一套') else: print('变形金刚一个')
二、while语句
n = 1 while n <= 10: print('------>n=%d' % n) n += 1 # 打印1-50 之间能被3整除的数字 m = 1 while m <= 50: if m % 3 == 0: print('--> %d' % m) m += 1 print('----success!') total = 0 while True: price = float(input('输入价格')) number = int(input('输入梳理')) total += price * number answer = input('当前购买的商品总额为:%.2f,是否继续添加商品(q表示退出)' % total) if answer == 'q': break # 跳出当前while循环 print('所有商品总额为:%.2f' % total)
break: 退出循环体
# 只会打印 1 2 3 n = 1 while n <= 5: print(n) if n == 3: break n += 1 else: print('over')
三、for语句
# range(stop) -> range object # range(start, stop[, step]) -> range object for i in range(10): print('---> i: ', i) # 0 - 9 for i in range(1, 11): print('---> i: ', i) # 1 - 10
for i in range(1, 10, -1): print(i) # 无输出 for i in range(10, 1, -1): print(i) # 10 - 2
四、嵌套循环
n = 1 while n <= 5: m = 5 while m > n: print('*', end='') m -= 1 n += 1 print()
# 九九乘法表 for i in range(1, 10): for j in range(1,i+1): print(j, '*', i, '=', i * j, end='\t') print()
五、break 和 continue
break语句提供一种便利方式,能够从循环体内的任何地方跳出循环。
在循环体中调用continue时,将立即跳转到循环条件,即进入循环的下一次迭代。
Python pass是空语句,是为了保持程序结构的完整性。不做任何事情,一般用做占位语句。
# 输入密码3次错误,锁定用户 for i in range(3): username = input('用户名:') password = input('密码:') if username == 'admin' and password == '1234': print('用户登录成功') break print('用户或密码错误!\n') else: print('账户被锁定')
for i in range(1, 8): if i % 3 == 0: continue # 1 2 4 5 7 print(i)
for i in range(1, 8): if i % 3 == 0: break # 1, 2 print(i)
六、循环使用 else 语句
在 python 中, for ... else...,表示 for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,
while ... else 也是一样。
for num in range(10, 20): for i in range(2, num): if num % i == 0: j = num / i print('%d equals %d * %d' % (num, i, j)) break else: print(num, 'is a prime number') ''' 10 equals 2 * 5 11 is a prime number 12 equals 2 * 6 13 is a prime number 14 equals 2 * 7 15 equals 3 * 5 16 equals 2 * 8 17 is a prime number 18 equals 2 * 9 19 is a prime number '''
count = 0 while count < 5: print(count, " is less than 5") count = count + 1 else: print(count, " is not less than 5")
''' 0 is less than 5 1 is less than 5 2 is less than 5 3 is less than 5 4 is less than 5 5 is not less than 5 '''