首页 > 解决方案 > 是否可以选择随机运算符?

问题描述

我在这里有一些代码,用于将结果存储在 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")

我将如何编辑我的代码,以便每次运行时都有不同的运算符?我还希望运算符成为计算的一部分,而不仅仅是打印出来。

标签: python

解决方案


这条线有几个问题。首先,random.choice是一个函数,所以它的参数应该用括号括起来。其次,+其他运算符本身不是有效的列表元素。如果要将运算符作为文本,请将它们括在引号中。

operators = random.choice(['+', '-', '*', '/'])

推荐阅读