Python 简单数学程序的语法无效
Python Invalid Syntax on simple Maths Program
我正在尝试创建随机数学问题测验,但冒号作为无效语法出现。是不是因为运算符我不能使用冒号?如果我把它拿出来,它也被视为无效语法。
这是创建 'correct_answer' 变量的代码,因此如果用户输入的答案正确或不正确,它会让他们知道。如果需要整个代码(我相信它不会,因为这可能是我遗漏的一些非常愚蠢的东西)我可以 post 它。
if operator==+:
correct_answer=random_number1+number2
elif operator==-:
correct_answer=random_number1-number2
else:
correct_answer=random_number1*number2
完整代码:
import random
name=raw_input("Hi what's your name?")
print "Alrighty lets go, "+name+"!"
for i in range(10):
operator_list=('+','-','x')
operator=random.choice(operator_list)
random_number1=random.randint(1,12)
random_number2=random.randint(1,10)
question=1
print random_number1, operator, random_number2
if operator==+:
correct_answer=random_number1+number2
elif operator==-:
correct_answer=random_number1-number2
else:
correct_answer=random_number1*number2
answer = eval(str(int(raw_input("What is the answer?"))))
if answer==correct_answer:
print "Great job!"
else:
print"Unlucky pal! It was " +correct_answer+ "
question+1
我假设 +
和 -
是字符串。如果是这样,您需要在它们周围加上引号。 space 输出代码以使其更易读也是一种很好的做法。
if operator == '+':
correct_answer = random_number1 + number2
elif operator == '-':
correct_answer = random_number1 - number2
else:
correct_answer = random_number1 * number2
答案:所需要的只是操作员周围的语音标记。
if operator == "+":
correct_answer=random_number1+number2
elif operator == "-":
correct_answer=random_number1-number2
else:
correct_answer=random_number1*number2
Ans:
当您编写 + 和 - 时,python 将其视为整数运算符的实数并给出错误,因为没有数字。添加" "会定义为字符串,应该不会报错。
更正版本:
if operator == "+":
correct_answer=random_number1+number2
elif operator == "-":
correct_answer=random_number1-number2
else:
correct_answer=random_number1*number2
我正在尝试创建随机数学问题测验,但冒号作为无效语法出现。是不是因为运算符我不能使用冒号?如果我把它拿出来,它也被视为无效语法。
这是创建 'correct_answer' 变量的代码,因此如果用户输入的答案正确或不正确,它会让他们知道。如果需要整个代码(我相信它不会,因为这可能是我遗漏的一些非常愚蠢的东西)我可以 post 它。
if operator==+:
correct_answer=random_number1+number2
elif operator==-:
correct_answer=random_number1-number2
else:
correct_answer=random_number1*number2
完整代码:
import random
name=raw_input("Hi what's your name?")
print "Alrighty lets go, "+name+"!"
for i in range(10):
operator_list=('+','-','x')
operator=random.choice(operator_list)
random_number1=random.randint(1,12)
random_number2=random.randint(1,10)
question=1
print random_number1, operator, random_number2
if operator==+:
correct_answer=random_number1+number2
elif operator==-:
correct_answer=random_number1-number2
else:
correct_answer=random_number1*number2
answer = eval(str(int(raw_input("What is the answer?"))))
if answer==correct_answer:
print "Great job!"
else:
print"Unlucky pal! It was " +correct_answer+ "
question+1
我假设 +
和 -
是字符串。如果是这样,您需要在它们周围加上引号。 space 输出代码以使其更易读也是一种很好的做法。
if operator == '+':
correct_answer = random_number1 + number2
elif operator == '-':
correct_answer = random_number1 - number2
else:
correct_answer = random_number1 * number2
答案:所需要的只是操作员周围的语音标记。
if operator == "+":
correct_answer=random_number1+number2
elif operator == "-":
correct_answer=random_number1-number2
else:
correct_answer=random_number1*number2
Ans:
当您编写 + 和 - 时,python 将其视为整数运算符的实数并给出错误,因为没有数字。添加" "会定义为字符串,应该不会报错。
更正版本:
if operator == "+":
correct_answer=random_number1+number2
elif operator == "-":
correct_answer=random_number1-number2
else:
correct_answer=random_number1*number2