在python中查找表达式
我是python的初学者。我想有一个程序,它最多可以显示20个,并且只能显示像+,-这样的表达式,可以成为数字10 我的预期产出是:在python中查找表达式,python,python-3.x,Python,Python 3.x,我是python的初学者。我想有一个程序,它最多可以显示20个,并且只能显示像+,-这样的表达式,可以成为数字10 我的预期产出是: 20-10=10 8+2=10 6+4=10 我想在列表中显示它们 abc=[] for x in range(1,20): for y in range(1,20): if x+y=10: strValue=x+'+'+y abc.append(strValue) elif(x-y=10):
20-10=10
8+2=10
6+4=10
我想在列表中显示它们
abc=[]
for x in range(1,20):
for y in range(1,20):
if x+y=10:
strValue=x+'+'+y
abc.append(strValue)
elif(x-y=10):
strValue=x+'-'+y
abc.append(strValue)
print(abc)
但是,我有一个错误
at line 10
abc.append(strValue)
^
IndentationError: unindent does not match any outer indentation level
elifx-y=10:后的行缩进太远,这就是下一行出现缩进错误的原因;压痕不一致。将strValue=x+'-'+y的缩进与其后的行匹配:
abc=[]
for x in range(1,20):
for y in range(1,20):
if x+y=10:
strValue=x+'+'+y
abc.append(strValue)
elif(x-y=10):
strValue=x+'-'+y
abc.append(strValue)
print(abc)
elifx-y=10:后的行缩进太远,这就是下一行出现缩进错误的原因;压痕不一致。将strValue=x+'-'+y的缩进与其后的行匹配:
abc=[]
for x in range(1,20):
for y in range(1,20):
if x+y=10:
strValue=x+'+'+y
abc.append(strValue)
elif(x-y=10):
strValue=x+'-'+y
abc.append(strValue)
print(abc)
这个编辑过的代码对我有用。您得到的缩进错误是因为abc.appendstrValue缩进不正确。缩进必须在if语句的整个范围内保持一致,通常为4个空格
您的代码中还有两个错误源于同一个问题
不能像在x+++y中那样将整数连接到字符串。您需要执行strx++++stry
此外,在if语句中,您使用了错误的运算符=,而不是正确的=是用于为变量设置值的赋值运算符,而==比较两个值
这个编辑过的代码对我有用。您得到的缩进错误是因为abc.appendstrValue缩进不正确。缩进必须在if语句的整个范围内保持一致,通常为4个空格
您的代码中还有两个错误源于同一个问题
不能像在x+++y中那样将整数连接到字符串。您需要执行strx++++stry
此外,在if语句中,您使用了错误的运算符=,而不是正确的=是用于为变量设置值的赋值运算符,而==比较两件事。代码中有几个问题 Python关心每行代码前面的空格。你需要什么 调整 您的if语句使用了错误的运算符。您使用的是赋值运算符=而不是比较运算符==
对于缩进,您可以使用来了解正确的格式。代码中有几个问题 Python关心每行代码前面的空格。你需要什么 调整 您的if语句使用了错误的运算符。您使用的是赋值运算符=而不是比较运算符== 对于缩进,您可以使用来了解正确的格式。Python是一种。这意味着缩进实际上将决定代码的哪一部分属于条件 缩进错误意味着缩进有问题,在这种情况下,解释器应该向您显示错误行或错误行后面的行 确保重新缩进以strValue开头的行 此外: 您的条件应该使用双等号==进行比较,而不是通常用于赋值的一个等号=。 将整数强制转换为字符串,然后再将其与其他字符串连接。您可以使用str显式转换整数,或使用fstring隐式转换整数,请参见下面的代码示例。 代码示例以及一些建议的改进和样式修复:
UPPER_CHECK_BOUND = 20
SOLUTION_TO_SEARCH_FOR = 10
valid_solutions = []
for x in range(1, UPPER_CHECK_BOUND):
for y in range(1, UPPER_CHECK_BOUND):
if x + y == SOLUTION_TO_SEARCH_FOR:
exercise = f'{x} + {y}'
valid_solutions.append(exercise)
elif x - y == SOLUTION_TO_SEARCH_FOR:
exercise = f'{x} - {y}'
valid_solutions.append(exercise)
print(valid_solutions)
Python是一种语言。这意味着缩进实际上将决定代码的哪一部分属于条件
缩进错误意味着缩进有问题,在这种情况下,解释器应该向您显示错误行或错误行后面的行
确保重新缩进以strValue开头的行
此外:
您的条件应该使用双等号==进行比较,而不是通常用于赋值的一个等号=。
将整数强制转换为字符串,然后再将其与其他字符串连接。您可以使用str显式转换整数,或使用fstring隐式转换整数,请参见下面的代码示例。
代码示例以及一些建议的改进和样式修复:
UPPER_CHECK_BOUND = 20
SOLUTION_TO_SEARCH_FOR = 10
valid_solutions = []
for x in range(1, UPPER_CHECK_BOUND):
for y in range(1, UPPER_CHECK_BOUND):
if x + y == SOLUTION_TO_SEARCH_FOR:
exercise = f'{x} + {y}'
valid_solutions.append(exercise)
elif x - y == SOLUTION_TO_SEARCH_FOR:
exercise = f'{x} - {y}'
valid_solutions.append(exercise)
print(valid_solutions)
此行strValue=x+'-'+y缩进太远。更改缩进,使其与下一行匹配。此行strValue=x+'-'+y缩进太远。更改缩进,使其与下一行匹配。如果x+y=10:^Syntaxer错误:无效的Syntaxed!现在应该可以使用了。如果x+y=10:^SyntaxError:无效的syntaxed!现在应该可以了。调用“print”时缺少括号。调用“print”时缺少括号。我建议对if和elif部分使用相同的缩进。而且,四个空格的缩进不是必须的,可以是任意数量的空格,但在相同的范围内必须相同谢谢你的建议。你说得对。我已经编辑了我的答案。我建议if和elif部分使用相同的缩进。而且,四个空格的缩进不是必须的,它可以是任意数量的空格,b
ut必须在同一范围内相同谢谢您的建议。你说得对。我已经编辑了我的答案。
#!/usr/bin/python
# -*- coding: utf-8 -*-
abc = []
for x in range(1, 20):
for y in range(1, 20):
if x + y == 10:
strValue = x + '+' + y
abc.append(strValue)
elif x - y == 10:
strValue = x + '-' + y
abc.append(strValue)
print abc
UPPER_CHECK_BOUND = 20
SOLUTION_TO_SEARCH_FOR = 10
valid_solutions = []
for x in range(1, UPPER_CHECK_BOUND):
for y in range(1, UPPER_CHECK_BOUND):
if x + y == SOLUTION_TO_SEARCH_FOR:
exercise = f'{x} + {y}'
valid_solutions.append(exercise)
elif x - y == SOLUTION_TO_SEARCH_FOR:
exercise = f'{x} - {y}'
valid_solutions.append(exercise)
print(valid_solutions)