工程师们大家好,配套免费视频
- 1.if语法
- 2.input函数
- 3.input if 案例
- 3.1案例1
- 3.2案例2
- 4.其它条件判断
- 5.三目运算符
- 6.随机数
- 6.1random.random()
- 6.2random.uniform(a,b)
- 6.3random.randint(a,b)
- 6.4random.randrange(n,m,k)
- 6.5random.choice(sequence)
- 6.6random.shuffle(p)
- 6.7random.sample(x,n)
- 6.8numpy.random
- 7.while循环
- 7.1案例一while用法
- 7.2continue用法
- 7.3break用法
- 7.4else用法
- 7.5练习:九九乘法表
- 8.for循环
需求:在互联网项目中,都会有注册这个小功能,如果你输入的用户名已经存在那么就会提示你用户名重复,否则注册成功。
这里就涉及到一个条件语句判断,在开发语言中用if表示
格式:
if 条件表达式1: # 条件表达式返回true或者false
条件一成立就执行这个代码,满足了条件一就不在去执行后面的代码了
elif 条件表达式2:
条件一不成立,且条件二成立执行这个代码 如果条件二满足就不执行后面的代码了
elif 条件表达式3:
条件一二都不成立,且条件三成立,就执行这个代码,后面的都不会执行了
else:
前面条件都不成立,执行这个代码,if语句结束
后面的代码 跟if没关系照常执行
上面if----else就是完整的if语句,也可以只有if 或者 if elif 或者if else
2.input函数
现在初学python,我们还不会像真实项目那样完成web端跟python的交互。
可以用input函数来模拟效果,input函数能让我们在开发工具的console(控制台模拟输入)
例如:
也可以输入几次:
从上面的例子可以看出来,input既可以输入10 也可以输入张三,那么输入的到底是什么类型呢?我们知道,在对变量进行赋值时,Python会帮助判断存储数据的类型,不需要我们进行操作,但是input不是这样,通过例子看一看:
当然上面的例子,如果运行的时候,控制台什么提示都没有不太友好,那我们可以这样写
3.input if 案例 3.1案例1假如现在张三这个名字已经在我们的系统存在,用户输入张三就提示用户名已经存在,输入其它的就注册成功
要求:用户不能输入’’ 空的
name = input('请输入注册名字:')
# 在上面一篇学习了条件判断 需要把他用起来
if name and name == '张三': # 表示 name不为None 也不为'' 并且name='张三'
print('该用户名已经注册')
elif name: # 表示 name不为None 也不为''
print('恭喜你注册成功')
else:
print("请输入合法的用户名")
输入张三 就会打印 该用户名已经注册
不输入直接按enter 就会打印 请输入合法的用户名 因为输入的是''
输入其它的不是张三 据会打印 恭喜你注册成功
3.2案例2
需求:当用户满足上面的条件
用户输入名字后,还需要输入年龄,如果名字成功并且年龄大于18,就打印注册成功,年龄小于18就提示,未成年别玩你把握不住
name = input('请输入注册名字:')
# 在上面一篇学习了条件判断 需要把他用起来
if name and name == '张三': # 表示 name不为None 也不为'' 并且name='张三'
print('该用户名已经注册')
elif name: # 表示 name不为None 也不为''
age = int(input('请输入您的年龄:')) # 注册成功后再输入年龄
if age >= 18:
print('注册成功')
else:
print('未成年别玩你把握不住')
else:
print("请输入合法的用户名")
可以看到if语句是可以嵌套的.
4.其它条件判断
在python中,判断boolean值 直接就是true false 整数int类型 就是0为false 其它都为tue 字符串str类型 就是None跟''都为false 其它为true 大家先记住这几个,后续学习还会有其它的5.三目运算符
python指出三目运算符
if a>b:
max = a
else:
max = b
可以写成
max =a if a>b else b
6.随机数
开发中经常会有需求到随机数。也是很基础的,我们来学习。python中使用random来实现
# 注意在使用随机数的时候,需要在test.py文件的第一行写 import random 后面会给大家解释 就是导入6.1random.random()
random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0
使用:
import random a = random.random() # 生成一个0<=a<1 的随机数 包含小数 print(a)6.2random.uniform(a,b)
伪代码:
n = random.uniform(a,b)
如果a > b,则生成的随机数n: a <= n <= b。如果 a 6.3random.randint(a,b)
其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b
生成的是整数 不包含小数
6.4random.randrange(n,m,k)伪代码:
x = random.randrange(n,m,k)
其中n<=x < m 且x=n+y*k y从0开始的整数
比如:
x = random.randrange(1,100,2)
那么生成的x:
1<=x<100 且为奇数
6.5random.choice(sequence)这个sequence是一个序列,可以是字符串,数组、元组等(后面学习)
import random
x = random.choice('天青色等烟雨')
print(x)
从'天青色等烟雨'这个字符串中随机获得一个字符 可能是天 、青、色 等等。。。
6.6random.shuffle§
import random # 现在还没学习 就理解它是一个装了这么多种语言的集合 p = ["java", "c", "c++", "go", "python"] random.shuffle(p) # 随机打乱 上面的存放顺序 print(p)6.7random.sample(x,n)
import random # 现在未学习 可以先不看 先一起整理在这里 p = ["java", "c", "c++", "go", "python"] sample = random.sample(p, 2) # 在上面的集合中随机取出两个组成新的集合 print(sample) s = '中国人不骗' # 在字符串中随机取两个字符合成一个集合 random_sample = random.sample(s, 2) print(random_sample)6.8numpy.random
nunpy是一个新的模块 后续学习,大家先有个印象 在生成随机数这块还有一个新的模块也可以
7.while循环需求:在1-100循环生成中5个随机数,并打印
针对这这种需求,不可能连续来5次吧,我们就可以使用循环
7.1案例一while用法需求:在1-100循环生成中5个随机数,并打印
import random
i = 5
# 因为i是整数 如果为0就是false 所以可以直接以i作为条件
while i:
# 生成随机数
randint = random.randint(1, 100)
print('生成的随机数为:' + str(randint)) # 因为生成的是整数 跟字符串+需要先str转换
# 如果不改变i那么i的值永远是5 所以i=i-1 每次-1 那么i=5,4,3,2,1都会执行循环里面的 正好5次
i -= 1
先判断i是否为0 不为0就进入while内部代码块 一行一行执行了 后再次判断i 以此类推
7.2continue用法
需求:在1-100循环生成中5个随机数,如果随机数小于30就打印,否则不打印
import random
i = 5
# 因为i是整数 如果为0就是false 所以可以直接以i作为条件
while i:
i -= 1
# 生成随机数
randint = random.randint(1, 100)
if randint >= 30:
continue # 如果生成的随机数大于等于30 执行continue 不再执行后面的打印代码 直接进入下一次循环
print('生成的随机数为:' + str(randint))
可以看到只有生成的随机数小于30才会打印 不然直接continue了
7.3break用法
需求:在1-100循环生成中5个随机数,如果有随机数小于30就不在生成了,跳出所有循环
import random
i = 5
# 因为i是整数 如果为0就是false 所以可以直接以i作为条件
while i:
i -= 1
# 生成随机数
randint = random.randint(1, 100)
print('生成的随机数为:' + str(randint))
if randint < 30:
print('因为生成的随机数是:'+str(randint)+"小于30了 会执行break跳出循环了")
break # 执行break 直接跳出循环
7.4else用法
import random
i = 5
# 因为i是整数 如果为0就是false 所以可以直接以i作为条件
while i:
i -= 1
# 生成随机数
randint = random.randint(1, 100)
print('生成的随机数为:' + str(randint))
if randint < 30:
print('因为生成的随机数是:'+str(randint)+"小于30了 会执行break跳出循环了")
break # 如果随机数小于30 直接跳出循环
else:
# while循环结束会执行这个代码,但是如果遇到break就不会执行了 所以能执行这个代码一定是5次都大于等于30
print('哎哟手气不错5次生成的随机数都大于等于30')
7.5练习:九九乘法表
1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
i = 1
while i <= 9:
j = 1
while j <= i:
# 昨天的格式化输出
print(f'{i} * {j} = {i * j}', end='t') # 把结尾弄成空格
j += 1
print() # 换行
i += 1
8.for循环
str = 'abcde'
for i in str:
print(i)
# 循环字符串每个字符 赋值给i 所以打印
a
b
c
d
e
for循环还有很多方式循环,但是现在还没学习,for循环也可以跟break continue else配合使用 参考while



