Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0153
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
本教程同步发布在:
个人网站: `https://oeasy.org`
蓝桥云课: `https://www.lanqiao.cn/courses/3584`
GitHub: `https://github.com/overmind1980/oeasy-python-tutorial`
Gitee: `https://gitee.com/overmind1980/oeasypython`
---- 上次制作了
- 十以内加法练习与判分
- 我想做个
- 十以内加减法
- 怎么做呢???🤔
- 首先 加减是 随机的
- 需要 得到随机数
- 根据他 得到
- 加法
- 还是减法
- 而且 减法 和 加法 不同
- 被减数 一定得
大于减数 - 否则 得负数
- 被减数 一定得
- 得先 对这两个数 进行排序
- 一定要避免 结果出现 负数
- 要求 n1 > n2
- 先排序
- 再按排序 结果赋值
- 可以保证 n1 > n2
import random
n1 = random.randint(0,10)
n2 = random.randint(0,10)
op = random.randint(0,2)
if op == 0:
result = n1 + n2
print(str(n1) + "+" + str(n2) + "=",end="")
else:
l = [n1,n2]
l.sort()
n2,n1 = l
result = n1 - n2
print(str(n1) + "-" + str(n2) + "=",end="")
answer = int(input())
if result == answer:
print("\033[38;5;10m ✔ \033[0m")
else:
print("\033[38;5;9m ✘ \033[0m")- 代码能跑
- 能简化一下吗?
- 声明 都放 开头
- 把 import 变成 from ... import
- result 在前面进行声明并赋值
from random import randint
n1 = randint(0,10)
n2 = randint(0,10)
op = randint(0,2)
result = 0
if op == 0:
result = n1 + n2
print(str(n1) + "+" + str(n2) + "=",end="")
else:
l = [n1,n2]
l.sort()
n2,n1 = l
result = n1 - n2
print(str(n1) + "-" + str(n2) + "=",end="")
answer = int(input())
if result == answer:
print("\033[38;5;10m ✔ \033[0m")
else:
print("\033[38;5;9m ✘ \033[0m")- 另开一个终端
- 学习新东西
- 三目运算符
- 三目指的是
- 总共有三个因素
- X决定最终结果
- 官方文档好像是可以有的
n1, n2 = 9, 5
big = n1 if (n1 > n2) else n2
small = n1 if (n1 < n2) else n2
big
small- 好像是可以做的
- 那怎么 根据 0 或 1
- 获得加号或者减号呢?
from random import randint
r = randint(0, 1)
op = "+" if (r == 0) else "-"
op- 这种方式是可以获得 op 的
- 但是如何 整合到代码中呢?
- 只有 减法 的时候 才 排序
from random import randint
n1 = randint(0, 10)
n2 = randint(0, 10)
r = randint(0, 2)
if r != 0:
l = [n1, n2]
l.sort()
n2, n1 = l
op = "+" if (r == 0) else "-"
cal_expression = str(n1) + op + str(n2)
result = eval(cal_expression)
print(cal_expression, "=", end="")
answer = int(input())
if result == answer:
print("\033[38;5;10m ✓ \033[0m")
else:
print("\033[38;5;9m ✗ \033[0m")
- 表达式的值
- 通过 eval 得到
- 运行顺利
- 这次研究了 三目运算符
- 根据条件 是否满足
- 可以得到 不同的结果值
- 三目运算符
- 一定 可以转化成 if语句
- 如果if有三个分支
- 怎么办??🤔
- 下次再说 👋
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。









