目录
1.for循环 (是进行多次循环判断和输出)
1.2.for循环的运用
2.循环嵌套(多个for循环组成)
3.break和continue(规定要在循环中使用)
continue
break:
4.while循环
5.练习打印九九乘法表
6.写个摇号小程序
6.1.random模块
random.choice("")
random.sample
random.randint(1,100)
6.2字符串的拼接
6.3数字型转化为字符型
6.4.strip()
6.4车牌摇号的程序
1.for循环 (是进行多次循环判断和输出)
直接举例来说明
从图中可以看出变量为i,循环的位置是从5-10,最后再输出变量
为什么要用for循环呢?是因为用if...else语句每次只能判断一次,然后就要退出再次重启才能再次判断,但是for循环可以实现多次判断和输出,节省很多麻烦。
1.2.for循环的运用
假设我们猜一个别人的年龄,一直到猜对才会输出:假设那个人的年龄是15
上面的exit()代表在输入正确之后就输出后面的语句并退出程序
可以在经过多次输入之后知道判断正确或者判断10次之后才会终止
2.循环嵌套(多个for循环组成)
举列子我们要打印一栋楼的每个楼层的房间号,首先肯定要先逐层打印,先打印完一层的房间号再打印一层
上面的图片中可以看到在执行一遍外面的for循环之后,就是第一层之后执行完内嵌的循环会循环才会继续跳到外面的循环执行第二层楼。
3.break和continue(规定要在循环中使用)
简单解释一下:break,就是结束当前循环,就是包含着break的最直接的一个循环
continue就是跳过本次循环,跳到下一次循环
举例子:
continue
```
for i in range (1,5):
print(f"---------第{i}层---------------")
for j in range(1,10) :
if(i==2 and j==2): #当楼层号和房间号都等于2的时候就跳出,就是不输出i=2 且j=2下面的语句,继续执行这个循环
continue
print(f"{i}层{j}号房间")
```
break:
for i in range (1,5):
print(f"---------第{i}层---------------")
for j in range(1,10) :
if(i==2&j==2): #当楼层号和房间号都等于2的时候就跳出这个循环,
#并且第二层没有第2个以及以后的房间
break
print(f"{i}层{j}号房间")
4.while循环
基本格式 :
如上图的循环10次:在开始设置的时候可以给出初始条件,那么当while后面的count条件不满足小于10的时候就会停止执行下面的代码,要是想强行退出可以加上break,或者continue跳过某个条件
5.练习打印九九乘法表
for i in range (1,10):
for j in range(1,i+1) :
print(f"{i}*{j}={i*j}",end=" ")
print(" ")
上面注意边界问题:range(1,10)表示的是1-9,所以(1,i+1),实际上是1到i+1—1。
6.写个摇号小程序
首先车牌号组成:
那么我们要解决第一个字符,随机的问题:这里就要用到一个函数
6.1.random模块
作用是随机产生指定范围内的随机数、字符串等
但是开始写代码前要先导入这个random这个模块,下面的代码引用才能实现random的这个函数
import random
print(random.choice("asdsadasdas"))
random.choice("")
从括号中随机选择一个字符串,每次结果都不同
random.sample
random.smaple(一个字符串合集,要挑选出来的随机数的个数)
import random a="qwertyuiopasdfg" print(random.sample(a,3))
random.randint(1,100)
(在1-100中随机选取一个数)
6.2字符串的拼接
由上图可以看出这是三个字符串的形式输出,因为车牌是连接起来的所以要用到
"".join("a","b","c")就是将三个字符串拼接在一起,中间要是有什么符号可以在" "里面填写
注意字符内要用的括号是[ ]
在拼接的时候就会出现一个问题,在"".join("a","b","c")这个拼接的是字符型,那么在字符串的时候既有字符(str型)又有数字(int型)。那么这个拼接就会报错,那么要先把数字型改为字符型,就要用到下面的函数str
6.3数字型转化为字符型
和random一样也要import string ,导入string模块
由上面可以看出来string.digits就是字符型的数字,再加上string.ascii_uppercase就可以构成随机数摇号了
import random
import string
s=string.digits+string.ascii_uppercase
#这样上面就变成全是str,就能拼接了
print("".join(random.sample(s,5)))
现在所有元素都准备好了,接下来拼接在一起就行了
6.4.strip()
这个是去掉空格的函数,因为在python中,有空格的和没有空格的相同一串字符串是不相等的,所以在做比较时可以去掉等号再做选择
print("string"==" string ")
6.4车牌摇号的程序
接下来按照上面要求来实现一下摇车牌的程序
import random
import string
count=0 #这是定义这个值
s=string.digits+string.ascii_uppercase #全26个大写字母加上10个数字
num=[] #定义一个数组来储存生成的20个京牌,满足条件2
while count<3: #循环三次,证明用户可以输入三次
for i in range(20): #用for循环来实现随机产生的20个车牌号
n1=random.choice(string.ascii_uppercase) #这是第一个字母
n2="".join(random.sample(s,5)) #随机选5个字母或数字
nu=(f"京{n1}-{n2}") #车牌生成
num.append(nu) #加入数组中储存
print(i+1,nu) #输出车牌
choice=input("输入你喜欢的号:").strip() 个人输入且除去多余的空格和符号
if choice in num: #判断上是否选择正确的车牌
print(f"恭喜你选择新车牌号码:{choice}")
exit("good luck")
else:
print("不合法的选择")
count+=1 #循环
正确就直接停止,不正确就继续随机生成20个供选择,最多执行三次



