文章目录
创建文件夹
要创建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!!")
break
else:
print(a)
#continue:结束本次循环,但不能跳出for/while
while True:
a = input("please enter a q or Q: ")
if a == "q" or a == "Q":
print("out!!")
continue
else:
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("终止")
break
if float(w_salary) < 0:
continue
print(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!!")
break
if float(s) < 0:
continue
empNum += 1
salarys.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!!")
break
if float(s) < 0:
continue
salarys.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 time
start1 = 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 * 1000
for 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]))