python学习之循环(4)
文章目录
- 创建文件夹
- for 循环
- break和continue区别
- 字符串大小写转换
- demo
- 要求输入员工的薪资,若薪资小于0则重新输入,最后打印出录入员工的数量和薪资明细以及平均薪资:
- while/for后的else
- 循环代码的优化
- 计算
- 其他优化方法
- 使用zip()并行迭代
创建文件夹
要创建python package 才可导入自定义的文件!!!
for 循环
>>> a = {"name":"吴悦","age":21,"身高":163}
>>> a
{'name': '吴悦', 'age': 21, '身高': 163}
>>> for x in a:
... print(x)
...
name
age
身高
>>> for x in a.keys():
... print(x)
...
name
age
身高
>>> for x in a.values():
... print(x)
...
吴悦
21
163
>>> for x in a.items():
... print(x)
...
('name', '吴悦')
('age', 21)
('身高', 163)
break和continue区别
#break:跳出最近的for和while循环
while True:a = input("please enter a q or Q: ")if a == "q" or a == "Q":print("out!!")breakelse:print(a)
#continue:结束本次循环,但不能跳出for/while
while True:a = input("please enter a q or Q: ")if a == "q" or a == "Q":print("out!!")continueelse:print(a)
字符串大小写转换
s = "abcde"
s.upper()
Out[3]: 'ABCDE'
s = "ABCDE"
s.lower()
Out[5]: 'abcde'
demo
要求输入员工的薪资,若薪资小于0则重新输入,最后打印出录入员工的数量和薪资明细以及平均薪资:
i = 0
list1 = []
while True:w_salary = input("(输入Q退出)请输入员工的工资: ")if w_salary.upper() == "Q":print("终止")breakif float(w_salary) < 0:continueprint(w_salary)i +=1#讲薪水添加到list1中list1.append(w_salary)b = []
#遍历list1,创建字典
for x in range(len(list1)):a = dict(name="worker_{0}".format(x),salary=list1[x])#将字典内容添加到列表中b.append(a.copy())
print(i)
print(a)
print(b)
empNum = 0
salarySum = 0
salarys = []
while True:s = input("please enter a worker of salary(if out,input a 'q')")if s.upper() == "Q":print("out!!")breakif float(s) < 0:continueempNum += 1salarys.append(float(s))salarySum += float(s)print("numbre of empolyees:{0}".format(empNum))
print("enter salary:{0}".format(salarys))
print("enter total salary:{0}".format(salarySum))
while/for后的else
salarySum = 0
salarys = []
for x in range(4):s = input("please enter a worker of salary(if out,input a 'q'): ")if s.upper() == "Q":print("out!!")breakif float(s) < 0:continuesalarys.append(float(s))salarySum += float(s)
else:print("You have entered salaries of 4 employees")print("enter salary:{0}".format(salarys))
print("enter total salary:{0}".format(salarySum))
循环代码的优化
计算
import timestart1 = time.time()for x in range(1000):list1 = []for m in range(10000):list1.append(x*1000+m+100)end1 = time.time()print("time is {0}".format(end1 - start1))start2 = time.time()for x in range(1000):list2 = []c = x * 1000for m in range(10000):list2.append(c+m+100)end2 = time.time()print("time is {0}".format(end2 - start2))
#运行结果
time is 1.4495453834533691
time is 1.2023136615753174
其他优化方法
- 连接多个字符串,使用join(),而不用"+"
- 列表进行删除和插入时,尽量在尾部操作!
使用zip()并行迭代
names = ("吴悦一","吴悦二","吴悦三")ages = (88,66,33)jobs = ("www","eee","rrr")for name,age,job in zip(names,ages,jobs):print("name:{0},age:{1},job:{2}".format(name,age,job))print("*******************\n")for i in range(3):print("name:{0},age:{1},job:{2}".format(names[i],ages[i],jobs[i]))
发布评论