压痕问题!(Python 2.7)

2024-10-03 13:28:48 发布

您现在位置:Python中文网/ 问答频道 /正文

这怎么了?(我只是个初学者,没什么复杂的,拜托了!)在

#!usr/bin/python

import os
import sys
import pdb
import time
import array

red = chr(00), chr(00), chr(255)
blue = chr(255), chr(00), chr(00)

print "Monochrome Bitmap Color Changer"
print "Supported colors: "
print "Black, White, Blue, Red, Yellow,"
print "Green, Orange, Purple, Pink, Brown, Grey"
print ""

filename = raw_input("Please enter filename or directory of monochrome bitmap: ")
whitevalue = raw_input("Change all white pixels to? ")
blackvalue = raw_input("Change all black pixels to? ")
with open (filename, 'r+b') as f:
    f.seek(54)
    if whitevalue is "red" or "Red":
        f.write(red)
    elif whitevalue is "blue" or "Blue":
            f.write(blue)
            f.seek(58)
            if blackvalue is "red" or "Red":
        f.write(red)
        elif blackvalue is "blue" or "Blue":
            f.write(blue)
            exit
    #print "Done"
    #time.sleep(3)
    #exit

在第二条f.write(red)行之后,它显示了一个略带粉红色的高亮显示,并显示:

“取消缩进不匹配任何外部缩进级别”

这意味着什么?如何帮助/修复它?在

非常感谢!在


Tags: orimportinputrawisblueredfilename
2条回答

elif语句与if语句不在同一范围内,因此它将给您一个错误。只有在同一范围/缩进中已有if语句时,Elif语句才能存在。在

如果你希望它是一个符合

if blackvalue is "red" or "Red":

然后再缩进一个标签。如果你想把它放在与

^{pr2}$

以及

elif whitevalue is "blue" or "Blue":

然后一次取消锁定。但总而言之,elif语句本身不能有(就像elif语句本身不能有else语句一样)。在

您的elif不会以属于if语句的方式缩进。在

改成这样:

with open (filename, 'r+b') as f:
    f.seek(54)
    if whitevalue is "red" or "Red":
        f.write(red)
    elif whitevalue is "blue" or "Blue":
        f.write(blue)
        f.seek(58)
        if blackvalue is "red" or "Red":
            f.write(red)
        elif blackvalue is "blue" or "Blue":
            f.write(blue)
        exit

相关问题 更多 >