这里是代码的极端初学者。阅读 John V. Guttag 撰写的“使用 Python 进行计算和编程简介”。第一个问题是:
“编写一个程序来检查三个变量 — x、y 和 z — 并打印其中最大的奇数。如果它们都不奇怪,那么 应该打印一条消息来说明这一点。”
我想出的代码在第 5、7 和 9 行有一个语法错误。由于我是一个完全的初学者,所以我无法弄清楚。欢迎咨询!
FirstNumber=int(input("Enter First Number:"))
SecondNumber=int(input("Enter Second Number:"))
ThirdNumber=int(input("Enter Third Number:"))
if (FirstNumber%2!=0:) and (FirstNumber > SecondNumber and FirstNumber > ThirdNumber)
print 'First Number is largest odd -> '+str(FirstNumber)
elif (SecondNumber%2!=0:) and (SecondNumber > FirstNumber and SecondNumber > ThirdNumber)
print 'Second Number is largest odd -> '+str(SecondNumber)
elif (ThirdNumber%2!=0:) and (ThirdNumber > FirstNumber and ThirdNumber > SecondNumber)
print 'Third Number is largest odd -> '+str(ThirdNumber)
else:
print 'None are odd -> '+str(FirstNumber), str(SecondNumber), str(ThirdNumber)
最佳答案
如注释中所述,您的代码在每个 if
和 elif
语句末尾缺少冒号。此外,您的代码在第一个条件测试中包含无关的冒号(即 (FirstNumber%2!=0:)
。
此外,正如您提到的,您是初学者,一些关于简化代码...或提高可读性的建议...
firstNum = int(input("Enter First Number: "))
secondNum = int(input("Enter Second Number: "))
thirdNum = int(input("Enter Third Number: "))
# In this case, we don't need the parenthesis. (Sometimes parens are
# required to ensure that the logic works correctly, but in this case,
# we don't.) Python short circuits, meaning it will stop the If
# statement mid-way as soon as a conditional statement equivocates to False.
if firstNum % 2 != 0 and firstNum > secondNum and firstNum > thirdNum:
print 'First Number is largest odd -> ' + str(firsthirdNum)
elif secondNum % 2 != 0 and secondNum > firstNum and secondNum > thirdNum:
print 'Second Number is largest odd -> ' + str(secondNum)
elif thirdNum % 2 != 0 and thirdNum > firstNum and thirdNum > secondNum:
print 'Third Number is largest odd -> ' + str(thirdNum)
else:
print 'None are odd -> ' + str(firstNum), str(secondNum), str(thirdNum)
关于python - 语法错误,初级 Python 2.7 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48269790/