一.循环语句
二
-
if 循环
程序计数从0开始 切记
age = input("请输入年龄")
if age > 10:
print('good')
---------结果报错
Traceback (most recent call last):
File "/Users/rcefcn/Python/test1/main.py", line 2, in <module>
if age > 10:
TypeError: '>' not supported between instances of 'str' and 'int'
这是为什么呢? 原因是…input 写入的的 ‘str’ 而age弄的是int型所以不对改正后的结果是
age = int(input("请输入年龄"))
if age > 10:
print('good')
if语句中, 不同的数据类型不能比较
1.1 if: elseif:else:语句小练习
# 1. 定义 `holiday_name` 字符串变量记录节日名称
holiday_name = input("请输入今天的节日:")
# 2. 如果是 **情人节** 应该 **买玫瑰**/**看电影**
if holiday_name == '情人节':
print('你需要买玫瑰和看电影')
# 3. 如果是 **平安夜** 应该 **买苹果**/**吃大餐**
elif holiday_name=="平安夜":
print('应该是买苹果,吃大餐')
# 4. 如果是 **生日** 应该 **买蛋糕**
elif holiday_name=="生日":
print("应该买蛋糕")
# 5. 其他的日子每天都是节日子啊
else:
print("其他每天都是节日")
1.2 if循环嵌套练习
# 1. 定义布尔型变量 `has_ticket` 表示是否有车票
has_ticket = 1
# 2. 定义整型变量 `knife_length` 表示刀的长度,单位:厘米
knife_length = 59
# 3. 首先检查是否有车票,如果有,才允许进行 **安检**
if has_ticket:
print("请进去安检")
# 4. 安检时,需要检查刀的长度,判断是否超过 20 厘米
if knife_length > 20:
print("你的刀%d超出长度了,不能上车" % knife_length)
else:
print("不超过20,可以上车")
# * 如果超过 20 厘米,提示刀的长度,不允许上车
# * 如果不超过 20 厘米,安检通过
# 5. 如果没有车票,不允许进门
else:
print("没有车票,不能进入")
1.3 石头剪刀布练习
import random
# 1. 从控制台输入要出的拳 —— 石头(1)/剪刀(2)/布(3)
p = int(input("请输入您要出的拳—— 石头(1)/剪刀(2)/布(3):"))
# 2. 电脑 **随机** 出拳 —— 先假定电脑只会出石头,完成整体代码功能
c = random.randint(1,3)
print("玩家选择的是%s - 电脑出的是%s" % (p, c))
# 3. 比较胜负
if p == c:
print("你们是一样的请再一次")
elif ((p == 2 and c == 3)
or (p == 1 and c == 2)
or (p == 3 and c == 1)):
print("你赢了")
else:
print('电脑都比你厉害')
-
while 循环
# i = 1
初始条件设置 —— 通常是重复执行的 计数器
# i < = 5
while 条件(判断 计数器 是否达到 目标次数):
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
处理条件(计数器 + 1)
i = 0 # 程序计数从0开始
while i < 3:
print("你是个傻逼")
i += 1 # i += 1 相当于 i = i+1
i = 0
sum = 0
while i <= 100:
sum = sum + i
i += 1
print("0到100整数相加=%d" % sum)
-
break 和 continue
break 某一条件满足后,直接退出整个循环
i = 0
while i <10:
if i == 3:
break
i += 1
print(i)
continue 满足后,不执行后面的代码,直接跳回循环的条件处
i = 0
while i < 10:
# 当 i == 7 时,不希望执行需要重复执行的代码
if i == 7:
# 在使用 continue 之前,同样应该修改计数器
# 否则会出现死循环
i += 1
continue
# 重复执行的代码
print(i)
i += 1
-
小练习
row = 1
while row <6:
col = 1
while col <= row:
print("*", end="")
col += 1
print("")
row += 1
-------------
*
**
***
****
*****
九九乘法表
row = 1
while row <= 9:
col = 1
while col <= row:
print("%d * %d = %d" % (row, col, row*col), end=" ")
col += 1
print("")
row += 1
-
逻辑运算符
# and 逻辑运算符
age = int(input('请输入年龄:'))
if 0 <= age and age <= 120:
print('年龄正常')
else:
print('不对哦')
# 定义2个只要,对一个就能过 or运算符
Pscor = 10
Csocr = 30
if Pscor>=60 or Csocr>=60:
print("你很不错哦:1科%d,1科%d" % (Pscor,Csocr))
else:
print('继续努力:')
# 定一个bool形变量,看是不是公式员工
#在条件不满足的时候启用代码
is_foll = 0;
if not is_foll:
print('你不是员工')
5.函数
1.random.randint(a, b)` ,返回 `[a, b]` 之间的整数,包含 `a` 和 `b`random.randint(12, 20) # 生成的随机数n: 12 <= n <= 20
random.randint(20, 20) # 结果永远是 20
random.randint(20, 10) # 该语句是错误的,下限必须小于上限