博客主页:@披星戴月的贾维斯
欢迎关注:点赞收藏留言
系列专栏: Python专栏
请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!
一起加油,去追寻、去成为更好的自己!
提示:以下是本篇文章正文内容,下面案例可供参考
有些操作是需要反复执行的. 这种就需要使用循环。
循环一般分为两种,while循环和for循环。
1.1、while循环
基本语法格式:
while 条件:
循环体
写while循环需要注意的三个要点
代码示例:打印1 - 10 的整数
num = 1
while(num <= 10):
print(num)
num+=1 #如果没这句 ,程序会死循环
代码示例: 计算 1-100 的和
sum = 0
num = 1
while num <= 100:
sum += num
num += 1
print(sum)
result = 1
n = 1
while n <= 5:
result *= n
n += 1
print(result)
for 循环变量 in 可迭代对象:
循环体
注意:
range是一个内建函数,起到的效果就是得到一个”可迭代对象“
这个可迭代对象包含了一系列整数
range(begin, end) => [begin, end) 前闭后开区间
range还提供了第三个参数~表示”步长“, 默认的步长值是1
代码示例: 打印 1-10
for i in range(1, 11):
print(i)
代码示例: 打印 2, 4, 6, 8, 10
for i in range(2, 12, 2):
print(i)
代码示例: 打印 10-1 :通过控制步长即可
for i in range(10, 0, -1):
print(i)
代码示例: 求 1 - 100 的和
s = 0
for i in range(1, 101):
s += i
print(s)
1.3、continue和break
continue 表示结束这次循环, 进入下次循环.
代码示例: 模拟拆快递. 拆第 3 个快递的时候不小心拆坏了
for i in range(1, 6):
if i == 3:
continue
print(f"拆完第 {i} 个快递")
break 表示结束整个循环
代码示例: 输入若干个数字, 求平均值. 使用 “分号” 作为结尾.
sum = 0
count = 0
while True:
num = input("请输入数字:")
if num == ';':
break
num = float(num)
sum += num
count += 1
print(sum / count)
这是一款之前很火的文字类小游戏. 玩家输入角色的初始属性之后, 就可以开启不同的人生经历.
大家可以在网上搜索 “人生重开模拟器”, 就可以玩到这个游戏的各种版本.
完整的程序代码较多, 此处我们只实现其中的一部分逻辑.
在游戏中我们设定四个属性.
我们约定每个属性的范围为 [1, 10], 并且总和不能超过 20.
如果玩家输入的初始属性不合理, 就提示输入有误, 重新输入。
代码示例
print("+---------------------------------------------------------------------+")
print("| |")
print("| 光阴似箭,只争朝夕 |")
print("| |")
print("| 欢迎来到, 人生重开模拟器 |")
print("| |")
print("+---------------------------------------------------------------------+")
# 设置初始属性
while True:
print("请设定初始属性(可用总点数 20)")
face = int(input("设定 颜值(1-10):"))
strong = int(input("设定 体质(1-10):"))
iq = int(input("设定 智力(1-10):"))
home = int(input("设定 家境(1-10):"))
if face < 1 or face > 10:
print("颜值设置有误!")
continue
if strong < 1 or strong > 10:
print("体质设置有误!")
continue
if iq < 1 or iq > 10:
print("智力设置有误!")
continue
if home < 1 or home > 10:
print("家境设置有误!")
continue
if face + strong + iq + home > 20:
print("总点数超过了 20!")
continue
print("初始属性设定完成!")
break
代码逻辑: 通过 random.randint(1, 6) 生成一个 [1, 6] 的随机整数, 类似于掷色子.
男孩和女孩会遇到不同的事件.
代码示例:
point = random.randint(1, 6) # 掷色子
if point % 2 == 1:
gender = 'boy'
print("你是个男孩")
else:
gender = 'girl'
print("你是个女孩")
首先按照家境(home), 分成四个档位.
10 是第一档. 加成最高
[7, 9] 是第二档. 也有一些加成
[4, 6] 是第三档. 加成较少
[1, 3] 是第四档. 会扣掉属性.
再扔一次色子, 生成 [1, 3] 的随机数, 用来表示每一种细分情况.
这里的代码主要就是各种 if else 构成
point = random.randint(1, 3) # 掷色子
if home == 10:
print('你出生在帝都, 你的父母是高官政要')
home += 1
iq += 1
face += 1
elif 7 <= home <= 9:
if point == 1:
print('你出生在大城市, 你的父母是公务员')
face += 2
elif point == 2:
print('你出生在大城市, 你的父母是大企业高管')
home += 2
else:
print('你出生在大城市, 你的父母是大学教授')
iq += 2
elif 4 <= home <= 6:
if point == 1:
print('你出生在三线城市, 你的父母是教师')
iq += 1
elif point == 2:
print('你出生在镇上, 你的父母是医生')
strong += 1
else:
print("你出生在镇上, 你的父母是个体户")
home += 1
else:
if 1 <= point <= 2:
print('你出生在村里, 你的父母是辛苦劳作的农民')
strong += 1
face -= 2
elif 3 <= point <= 4:
print('你出生在穷乡僻壤, 你的父母是无业游民')
home -= 1
else:
print('你出生在镇上, 你父母感情不和')
strong -= 1
本文总共介绍了循环语句的概念,使用等,还介绍了Python实现一个人生重开模拟器的部分代码,剩下的部分的代码我们下一节再讲,希望大家读后也能有所收获!