Python控制流之if-else,for,while的基本使用规范

一、if-else控制流

 if condition输入冒号之后,选择回车下一行会自动空出四个格来,两分支时else后边不能再写条件,因为else后边就是默认的除了 if 之后的所有选项,多分支时可以添加无限多个elif条件,else代表剩余的所有条件,else后边不要写任何条件,冒号必须是英文状态下的!!

'''if else选择结构'''
# 例1 二分支:返回一个数的绝对值
x=-7
if x>=0:
    print(x)
else:
    print(-x)
x = -3
if x >= 0:
    print(x)
else:
    print(-1*x)
    
# 例1升级版——交互式
x0 = input('请输入一个数字(正负零不限):')
#此时通过input函数输入的x0是字符串str类型的,需要通过eval转化为整数int类型
x =eval(x0)#eval是程序语言的函数,获取返回值

if x >= 0:
    print('该数字的绝对值是: ',x)
else:
    print('该数字的绝对值是: ',-1*x)
    
    
#例2 多分支:返回成绩对应的等级    
# 返回成绩对应的等级
score = 88
if score < 60:
    print('不及格')
elif score < 70:
    print('合格')
elif score < 80:
    print('良好')
else:
    print('优秀')

 二、for循环结构

 这里我们可以看到相对比  if 结构,前边多了循环结构,之前是只能对单个条件进行判定,现在可以对一整个集合里的所有元素逐个进行判定。

'''for循环结构'''  
#例3 将列表中的每个元素作平方加1处理

S = [1,5,2,8,10,13,17,4,6]
result = []#先构建空列表
for i in S:
    y = i ** 2 + 1
    result.append(y)
print(result)

#例4 计算1到100之间的偶数和
s1_100=0
result=[]
for i in range(1,101):
    if i % 2==0:
        result.append(i)
print(sum(result))

s1_100=0
for i in range(1,101):
    if i %2==0:
        s1_100=s1_100+i
        s1_100
print(s1_100)

1.这里我们可以看到首先构建的 result 这个空列表是用来存放计算之后的值,每次计算所得的 y 值都会放在空列表之中,最后打印完整的 result 就是我们所要的最终结果。

2.计算1-100之间的偶数和,首先要限定出偶数,通过遍历1-100之间的全部数,找到除以 2 余数为 0 的数,就是我们要找的数,同时取值的这个集合是前闭后开的,假如要取1-100的数,集合右端要取到101最终才能取到100这个值,第一个解题方法是找出了所有符合条件的数再进行相加就得到了我们想要的结果,第二个解题方法是先取一个初始值为0,每得到一个符合条件的便进行相加,直到加到最后一个数。

三、while 循环

'''while循环结构'''  
#例5 打印1:10
i = 1
while i < 11:
    print(i)
    i = i + 1
for i in range (1,11):
    print(i)  
#例6 使用while循环求1~100所有整数之和。
i = 1
sum = 0
while i <= 100:
    sum = sum + i
    i = i + 1
print(sum)

这里使用Python的range()函数生成一个1到10的整数序列。range(a, b)会生成一个从a到b-1的整数序列。然后在for循环中遍历这个序列,并打印出每个整数即可。打印的话for 循环需要有完整的范围,而while 只需要限定循环的条件就可以。

四、综合应用案例

#已知银行年利率为3.1%,即存款100元,
#一年后本息合计103.1元,若将本息继续存入银行,
#年利率保持不变(复利)。问小明将10000元存入银行,
#几年后本息总和为20000元?
import numpy as np
money=10000
year=1
while money<=20000:
    money=money*1.031
    year=year+1
    print(year,np.round(money,2))

# 综合案例2
#
#,
    
#使用for循环登录某手机银行APP – 已知登录总次数为5的情况
for i in range(1,6):
    user = input('请输入用户名:')
    password = int(input('请输入密码:'))
    if (user == '张三') & (password == 324651):
        print('登录成功!')
        break
    else:
        if i < 5:
            print('错误!您今日还剩%d次输入机会。' %(5-i))
        else:
            print('请24小时后再尝试登录!')

补充:这里进行输出格式变换的时候经常会用到格式化输出,常见的格式化输出有%s ,%d ,%f

1.打印字符串

print("My name is %s" %("yang"))
#输出效果:
My name is yang

 2.打印整数

print("I am %d years old." %(25))
#输出效果:
I am 25 years old.

3.打印浮点数

print ("His height is %f m"%(1.70))
#输出效果:
His height is 1.700000 m

4.打印浮点数(指定保留三位小数)

print ("His height is %.3f m"%(1.70))
#输出效果:
His height is 1.700 m

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值