python循环结构

今天出错的是代码返回1,并无报错:因为在range条件句里写了,多加了迭代;还有定义变量涉及关键字
肝毕设,苍蝇快走开

#循环结构
#循环体里的语句至少应该包括改变条件表达式的语句,为了让循环趋于结束,否则就会变成一个死循环
#while循环
num=0
while num<=10:
    print(num)
    num+=1    #python里没有类似num++的自增
#要是嫌打印换行占地方,可以改成如下
num=0
while num<=100:
    print(num,end="\t")
    num+=1
print("*************************88*")

#计算1-100之间数字的累加和
num2=0
sum_all=0  #先存储上
while num2<=100:
    sum_all=sum_all+num2
    num2+=1  #如果没有这句,就会陷入死循环,因为num2一直等于0
print("1-100所有数叠加和:",sum_all)   #这句打印和while是并列的缩进,是循环结束后执行

#for循环和可迭代对象遍历
#for 变量 in 可迭代对象
# 循环体语句
#遍历一个元组或列表
for x in (20,30,40):   #元组
    print(x*3)

for y in "abcdefg":    #字符串
     print(y)
 #遍历字典
d={"name":"wangjiaqi","age":24,"address":"东海龙宫001号楼"}
for x in d:    #遍历字典所有的key
     print(x)
for x in d.keys():  #遍历字典所有的key
    print(x)
for x in d.values():  #遍历字典所有的value
    print(x)
for x in d.items():   #遍历字典中所有的键值对
    print(x)
#range对象是一个迭代器对象,用来产生指定范围的数字序列
#   for i in range(10)   #产生的是0-9的123456789,没有产生到10
#   for i in range(3,10)    #产生序列:3456789,注意没到10
#   for i in range(3,10,2)    #产生序列3 5 7 9
#利用for循环,计算1-100之间数字的累加和;计算1-100之间偶数的累加和;计算1-100之间奇数的累加和
sum_all=0   #1-100所有数的累加和
sum_even=0   #1-100偶数的累加和
sum_odd=0    #1-100奇数的累加和
for x in range(101):    #写100不行,100会算到99,写101才会算到101
    sum_all+=x
    if x%2==0:sum_even+=x
    else:sum_odd+=x

print("1-100所有数的累加和",sum_all)
print("1-100偶数的累加和",sum_even)
print("1-100奇数的累加和",sum_odd)
print("1-100累加总和{0},奇数和{1},偶数和{2}".format(sum_all,sum_odd,sum_even))

#嵌套循环
#经典联系
for x in range(5):
    for y in range(5):
        print(x,end="\t")
    print() #天然换行
#x等于0,进来y等于0的循环,打印x,再打印一个制表符;
#注意:y=0之后执行y=1;近来内层循环就要先把内层循环执行完
#内层y循环完成后,执行和y循环并列的下一句换行
#换行之后,再回到外层循环

#打印九九乘法表,分析两个循环遍历m的值,一个是n的值
for m in range(1,10):   #1-9
    for n in range(1,m+1):   #不是m+1的话会打出一个正方形表阵
        print("{0}*{1}={2}".format(m,n,m*n),end="\t")
    print()
#用列表和字典储存下表信息,并打印出表中工资高于15000的数据

r1=dict(name="王大大",age=24,salary=30000,city="北京")
r2=dict(name="王二二",age=25,salary=10000,city="深圳")
r3=dict(name="王三三",age=26,salary=20000,city="上海")
tb=[r1,r2,r3]  #定义表格
for x in tb:
    if x.get("salary")>15000:
        print(x)
#---------------------------------------------------
#break语句用于while和for循环,用于结束整个循环,
# 当有循环嵌套时,能跳出最近一层的循环
while True:   #while true是个死循环,像linux系统里监听鼠标监听键盘
    a=input("请输入一个字符(输入Q或q结束)")
    if a.upper()=="Q":
        print("循环结束,退出")
        break   #跳出整个
    else:
        print(a)

#continue
#用于本次循环,继续下一次。多个循环嵌套时,continue就近作用循环
#要求输入员工的薪资,若薪资小于0则重新输入,最后打印出录入员工数量和薪资明细以及平均工资
empNum=0
salarySum=0
salarys=[]
while True:
    s=input("请输入员工的薪资(按Q或q结束)")
    if s.upper()=="Q":
        print("录入完成,退出")
        break
    if float(s)<0:
        continue
    empNum+=1
    salarys.append(float(s))
    salarySum+=float(s)

print("员工数{0}".format(empNum))
print("录入薪资:",salarys)
print("平均薪资{0}".format(salarySum/empNum))

#else语句
# (python独有)while、for循环可以附带一个else语句(可选)。如果for、while语句没有被break语句结束
#则会执行else子句,否则不执行(说特么 说的啥啊,要听不下去了),语法格式如下:
#员工一共4人,录入这4位员工的薪资。全部录入后,打印提示“您已经全部录入4名员工的薪资”最后打印出录入的薪资和平均薪资
salarySum=0
salarys=[]
for i in range(4):
    s=input("请输入员工薪资(按Q或q中途结束)")
    if s.upper()=="Q":
        print("录入完成,退出")
        break
    if float(s)<0:
        continue
    salarys.append(float(s))
    salarySum+=float(s)
else:   #循环被中断的情况下,else语句不执行;循环正常结束else执行
    print("您已经全部录入了4名员工的薪资")
print("录入薪资:",salarySum)
print("平均薪资{0}".format(salarySum/4))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值