我必须在学校使用Python进行数学测试,但不是像6 + 8?
这样的问题,而是像(6, '+', 8)
一样。
这是我的代码:
print ('What is your name?')
name = input()
print (' Hello ' + name +', Welcome to the python maths quiz by Tom Luxton, you will be asked 10 maths questions and marked out of 10 at the end, good luck! ')
import random
ops = ['+', '-', '*']
num1 = random.randint(1,12)
num2 = random.randint(1,10)
op = random.choice(ops)
answer = num1, op, num2
print(answer)
答案 0 :(得分:5)
您正在打印元组,answer
。打印单个元素或首先将该元组转换为字符串。
打印元组的元素可以通过使用print()
语法将它们传递给*args
来完成:
print(*answer)
或者首先不创建元组,而是将参数分别传递给print()
:
print(num1, op, num2)
您可以通过将所有值映射到字符串并使用空格手动连接它们来将元组首先转换为字符串:
answer = ' '.join(map(str, answer))
或者您可以将字符串格式设置为str.format()
:
answer = '{} {} {}?'.format(num1, op, num2)
这样做的另一个好处是,现在可以轻松添加您想要的?
问号。