为什么这会返回-1而不是201?

时间:2018-06-01 14:37:32

标签: python-3.x

我一直在用Python试验文件。我做了三个:

  • 文件编号1中包含156
  • 文件编号2中包含45
  • 文件操作中包含++&/**因为我想查看您是否可以通过文件添加
FilePath_file1 = r'D:\python_CSV\Number1.txt'
FilePath_file2 = r'D:\python_CSV\Number2.txt'
FilePath_fileOP = r'D:\python_CSV\Op.txt'

File1 = open(FilePath_file1,'r')
File2 = open(FilePath_file2,'r')
FileOp = open(FilePath_fileOP,'r')


Number1 = File1.readline()
Number2 = File2.readline()
OpCommand = FileOp.readline()

x = int(Number1)
y = int(Number2)

z = -1
if OpCommand == '+':
    z = x + y

print('The result is:- ',z)

代码保持返回-1而不是201,这应该是答案。那是为什么?

1 个答案:

答案 0 :(得分:2)

当您读入OpCommand的值时,它就是整行++&/**,因此与单个字符+匹配将返回false。因此永远不会修改z。即使您在单独的行中包含操作符,readline()也包含换行符,因此您需要将其删除或仅使用OpCommand[0]进行匹配。取代

if OpCommand == '+':

if OpCommand[0] == '+':