Python---第3天---分支和循环结构

Python—第3天—分支和循环结构

分支结构(选择结构)的例子

在Python中,要构造分支结构可以使用ifelifelse关键字。所谓关键字就是有特殊含义的单词,像ifelse就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名。下面的例子中演示了如何构造一个分支结构。

import getpass

username = input('用户名:')
# password = input('密码: ')
password = getpass.getpass('密码: ')   # 遮住密码
if username == 'admin' and password == '123456':
    print('登录成功')
else:
    print('登录失败')

使用password = getpass.getpass('密码: ') 点击Termiral,输入 python 文件名.py才能运行。它能遮住输入的密码。

Python中使用了缩进的方式来表示代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了。换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。缩进可以使用任意数量的空格,但通常使用4个空格,强烈建议大家不要使用制表键来缩进代码。

分断函数求值

             3x - 5, x > 1
      f(x) = x + 2, -1 <= x <= 1
             ​5x + 3, x < -1

分支结构可以嵌套,但一定要注意嵌套的深度,嵌套深度太深直接影响代码的可读性

代码块:保持相同缩进的代码就属于同一个代码块

x = float(input('x = '))
if x > 1:
    y = 3 * x - 5
elif x < -1:
    y = 5 * x + 3
else:
    y = x + 2
print(f'f(x) = {y}')

循环结构

循环结构就是程序中控制某条或某些指令重复执行的结构。在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环。

for-in循环

打印100遍hello

for i in range(1, 101):
    print(i, 'hello')

需要说明的是上面代码中的range(1, 101)可以用来构造一个从1到100的范围,当我们把这样一个范围放到for-in循环中,就可以通过前面的循环变量x依次取出从1到100的整数。当然,range的用法非常灵活,下面给出了一个例子:

  • range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
  • range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
  • range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
  • range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。

计算1 + 2 + 3 + 4 + 5+ …+ 100 = ?

num = 0
for i in range(1, 101):
    num += i
print(num)

实现1-100之间的偶数求和

total = sum(range(1, 101))
print(total)
# 1-100之间的和

total = 0
for i in range(2, 101, 2):
    total += i
print(total)
# 1-100之间的偶数和

total = 0
for i in range(1, 101):
    if i % 2 != 0:
        total += i
    else:
        pass
print(total)
# 1-100间的奇数和

计算求1-100之间3或5的倍数的和

a = 0
for i in range(1, 101):
    if i % 3 == 0 or i % 5 == 0:
        a += i
print(a)

输入1—n,输出 n n^2 n^3 n^n

for i in range(1, 11):
    print(f'{i:<10d}{i ** 2:<10d}{i ** 3:<10d}{i ** i:<10d}')

输入一个n,计算n!

a = int(input('输入一个整数'))
b = 1
for i in range(2, a + 1):
    b *= i
print(f'{a}! = {b}')

随便输入两个正整数,得出它们的最小公约数

a = int(input('a = '))
b = int(input('b = '))
for i in range(a, 0, -1):
    if a % i == 0 and b % i == 0:
        print(i)
        break

while循环

如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环。while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True则继续循环;表达式的值为False则结束循环。

a = int(input('a = '))
b = int(input('b = '))
while b % a != 0:
    a, b = b % a, a
print(a)
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值