python - 是否可以选择随机运算符?
问题描述
我在这里有一些代码,用于将结果存储在 txt 文件中的简单算术测试。但是,我在尝试让问题每次都有一个随机运算符时遇到问题。在这部分代码中:
operators = random.choice[+, -, *, /]
我收到语法错误。这是我的整个代码:
import random
def arthematictest():
name = input("whats your name?: ")
operators = random.choice[+, -, *, /]
a = random.randint(1, 100)
b = random.randint(1, 100)
question1 = int(input(f"whats {a} {operators} {b}?")
answer1 = (f"{a} {operators} {b}
feedback = open("feedback.txt", "a")
feedback.write(name)
feedback.write(" ")
feedback.write("passed")
if question1 == answer1:
print("correct")
else:
feedback = open("feedback.txt", "a")
feedback.write(name)
feedback.write(" ")
feedback.write("failed")
print("incorrect")
我将如何编辑我的代码,以便每次运行时都有不同的运算符?我还希望运算符成为计算的一部分,而不仅仅是打印出来。
解决方案
这条线有几个问题。首先,random.choice
是一个函数,所以它的参数应该用括号括起来。其次,+
其他运算符本身不是有效的列表元素。如果要将运算符作为文本,请将它们括在引号中。
operators = random.choice(['+', '-', '*', '/'])
推荐阅读
- facebook - 如何设置 instagram 企业帐户 webhook?
- ssl - How to get Certificate Chain to Show on Google Chrome
- python - 获取查询集,它是一个数据库查询的聚合值
- python-3.x - 通过 API 查询 NIH 的拒绝问题
- google-analytics - BigQuery 问题 - 我无法提取添加到购物车的产品列表的数量和产品(Google Analytics - UA)
- pentaho - Pentaho如何在折线图中输入数据?
- java - 我尝试将 Eclipse IDE 用于 java,但控制台似乎不起作用
- sql - 以 FIFO 方式将借记交易映射到存款交易的 SQL 查询
- google-cloud-transcoder - 输出 DASH 段比谷歌云转码器请求的长
- c++ - Outlook 不使用 C++ MAPI 加载项刷新已删除的附件和属性集