for循环:
for循环可以遍历任何有序的序列对象内的元素。
遍历:就是把元素一个一个的取出来的过程。
for语句可用于字符串、列表、元组、其他内置可迭代对象以及之后我们能够通过类所创建的新对象。
基本结构:
for 临时变量 in 可迭代对象:
range()函数
range(start,stop,step)函数默认产生一个从0开始的一个整数列表。
start:表示整数的开始位置。
stop:表示整数额结束位置,但不包含此值。
step:表示步长,默认为1.
eg:
for i in range(1,100,10):
print(i,end=" ")
结果为:
循环嵌套
eg:
i = 1
while i <= 5:
print("这是第%d行"%i,end=" ")
j = 1
while j <= 5:
print("------------",end=" ")
j = j+1
print()
i = i+1
结果为:
练习:九九乘法表
i = 1
#外层循环控制行数
while i<=9:
j = 1
#内层循环控制 列数
while j<=i:
print("%d * %d = %d"%(j,i,j*i),end=" ")
j+=1
print()
i+=1
结果为:
练习:求一个字符串中所包含的各种类型个数(下标是从0开始)
s = "qwEr_123456df_YP34_"
x = 0
shuzi = 0
xhx = 0
dazimu = 0
xiaozimu = 0
while x < len(s):
if s[x]>="0" and s[x]<="9":
shuzi = shuzi+1
elif s[x]>="a" and s[x]<="z":
xiaozimu = xiaozimu+1
elif s[x]>="A" and s[x]<="Z":
dazimu = dazimu+1
else:
xhx = xhx+1
x = x+1
print("%s中数字有%d个,大写字母有%d个,小写字母有%d个,下划线有%d个。"%(s,shuzi,dazimu,xiaozimu,xhx))
结果为:
for循环嵌套
eg:输出一个空心得由“*”组成的正方形。
for a in range(5):
for b in range(5):
if a==0 or a==4 or b==0 or b==4:
print("*",end=" ")
else:
print(" ",end=" ")
print()
结果为:
format #格式化数据
eg:数字炸弹游戏
import random
x = random.randint(1,99)
start = 0
end = 99
while True:
a = int(input("请输入{}~{}之间的一个数:".format(start,end)))
if a<start or a>end:
print("请输入范围内的数字")
elif a > x:
print("输入大了!")
end = a
elif a < x:
print("输入小了!")
start = a
else:
print("Boom!")
break
结果为:
关键字参数
eg:
def fun_ret(a,b,c): # 传递过来的参数会按照位置 找对应的形参进行赋值 (位置传参)
print("传递过来第一个参数:%s,第二个参数%s"%(a,b))
print("颜色是%s"%c)
username = input("请输入你的名字:")
password = input("请输入你的密码:")
color = "Black"
#调用函数,传递两个参数
fun_ret(username,password,color)
结果为:
函数的嵌套调用
eg:
def func1():
print("func1-------start")
def func2():
print("func2-------start")
func1()
print("func2-------end")
def func3():
print("func3-------start")
func2()
print("func3-------end")
#调用 func3
func3()
结果为:
可变参数:会将传入的参数变成 元祖 或者 字典
字典是:
{} 以 : 隔开 key value 形式存储数据
左边 是key 一般是字符串类型
右边 value 值
def sum_nums(a,b,*args,**kwargs):
print(a)
print(b)
print(args) #*args会将传递的元素变成一个元组 ()
print(kwargs) #可变参数 **kwargs 将传递过来的数据变成字典
result = a+b
for temp in args:
result = temp+result
print(result)
sum_nums(11,22,33,44,55,n=66,m=77)
结果为:
最后:佛祖镇楼
def func():
print(" _ooOoo_ ")
print(" o8888888o ")
print(" 88 . 88 ")
print(" (| -_- |) ")
print(" O\\ = /O ")
print(" ____/`---'\\____ ")
print(" . ' \\| |// `. ")
print(" / \\||| : |||// \\ ")
print(" / _||||| -:- |||||- \\ ")
print(" | | \\\\\\ - /// | | ")
print(" | \\_| ''\\---/'' | | ")
print(" \\ .-\\__ `-` ___/-. / ")
print(" ___`. .' /--.--\\ `. . __ ")
print(" ."" '< `.___\\_<|>_/___.' >'"". ")
print(" | | : `- \\`.;`\\ _ /`;.`/ - ` : | | ")
print(" \\ \\ `-. \\_ __\\ /__ _/ .-` / / ")
print(" ======`-.____`-.___\\_____/___.-`____.-'====== ")
print(" `=---=' ")
print(" ")
print(" ............................................. ")
print(" 佛祖镇楼 BUG辟易 ")
print(" 佛曰: ")
print(" 写字楼里写字间,写字间里程序员; ")
print(" 程序人员写程序,又拿程序换酒钱。 ")
print(" 酒醒只在网上坐,酒醉还来网下眠; ")
print(" 酒醉酒醒日复日,网上网下年复年。 ")
print(" 但愿老死电脑间,不愿鞠躬老板前; ")
print(" 奔驰宝马贵者趣,公交自行程序员。 ")
print(" 别人笑我忒疯癫,我笑自己命太贱; ")
print(" 不见满街漂亮妹,哪个归得程序员? ")
func()
结果为:
明天继续加油吧!