博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Python基础 - 04控制语句

Posted on 2021-10-10 10:58  Kingdomer  阅读(25)  评论(0编辑  收藏  举报

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 '''