【30天python从零到一】---第五天:人生重开模拟器 ,循环语句

博客主页:@披星戴月的贾维斯
欢迎关注:点赞收藏留言
系列专栏: Python专栏
请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!
一起加油,去追寻、去成为更好的自己!

在这里插入图片描述

文章目录

  • 1、循环语句
  • 2、人生重开模拟器
      • 1. 设置初始属性
      • 2. 设置性别
      • 3. 设置出生点
  • 3、总结

提示:以下是本篇文章正文内容,下面案例可供参考


1、循环语句

有些操作是需要反复执行的. 这种就需要使用循环。
循环一般分为两种,while循环和for循环。
1.1、while循环
基本语法格式:

while 条件:
    循环体
  • 条件为真, 则执行循环体代码.
  • 条件为假, 则结束循环

写while循环需要注意的三个要点

  • 1、循环变量的初始值
  • 2、循环的判断条件
  • 3、循环变量的更新语句

代码示例:打印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)

【30天python从零到一】---第五天:人生重开模拟器 ,循环语句_第1张图片
代码示例: 计算 5 的阶乘

result = 1
n = 1
while n <= 5:
    result *= n
    n += 1
print(result)

【30天python从零到一】---第五天:人生重开模拟器 ,循环语句_第2张图片
1.2、for 循环
基本语法格式

for 循环变量 in 可迭代对象:
    循环体

注意:

  • python 的 for 和其他语言不同, 没有 “初始化语句”, “循环条件判定语句”, “循环变量更新语句”, 而是更加简单
  • 所谓的 “可迭代对象”, 指的是 “内部包含多个元素, 能一个一个把元素取出来的特殊变量”

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)
  • 小技巧:使用shift +F6 可以针对变量进行重命名~ 会智能地修改我们的代码,把需要修改的名字都统一替换了。

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)

【30天python从零到一】---第五天:人生重开模拟器 ,循环语句_第3张图片

2、人生重开模拟器

这是一款之前很火的文字类小游戏. 玩家输入角色的初始属性之后, 就可以开启不同的人生经历.
大家可以在网上搜索 “人生重开模拟器”, 就可以玩到这个游戏的各种版本.

完整的程序代码较多, 此处我们只实现其中的一部分逻辑.

1. 设置初始属性

在游戏中我们设定四个属性.

  • 颜值 (face)
  • 体质 (strong)
  • 智力 (iq)
  • 家境 (home)

我们约定每个属性的范围为 [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

2. 设置性别

代码逻辑: 通过 random.randint(1, 6) 生成一个 [1, 6] 的随机整数, 类似于掷色子.

  • 如果是单数, 则性别设为男孩
  • 如果是双数, 则性别设为女孩.

男孩和女孩会遇到不同的事件.
代码示例:

point = random.randint(1, 6) # 掷色子
if point % 2 == 1:
    gender = 'boy'
    print("你是个男孩")
else:
    gender = 'girl'
    print("你是个女孩")

3. 设置出生点

首先按照家境(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

3、总结

    本文总共介绍了循环语句的概念,使用等,还介绍了Python实现一个人生重开模拟器的部分代码,剩下的部分的代码我们下一节再讲,希望大家读后也能有所收获!

你可能感兴趣的:(Python专栏,python,开发语言)