好多数值——flag{youc@n'tseeme}
描述
一串RGB值,
255,255,255
255,255,255
255,255,255
255,255,255
255,255,255
……
分析
python画图撸代码
思路是:
1.行数n因数分解,由于可能有很多结果,引入交互(是有多懒)
2.因为不确定哪个是X哪个是Y,调用了两次画图函数。
虽然题目很简单,但是这种一键操作的服务大众精神值得鼓励!而且我复习了画图的原理!需要来点艺术放松身心!
![](https://img.haomeiwen.com/i7087928/e027f0aa510acf19.png)
![](https://img.haomeiwen.com/i7087928/1401831ee42cc4c6.png)
from PIL import Image
def Crack(n):#因数分解
flag = []
for each in range(2,int(n **0.5)+1):
if(n % each == 0):
print(each,int(n/each))
flag += [(each,int(n/each))]
if len(flag) == 1:return flag[0]
else:
choice = input("选择第几组(0-%s):"%(len(flag)-1))
return flag[int(choice)]
def Paint(X,Y,listrgb):#根据字符串列表画图
pic = Image.new("RGB",(X, Y))
i=0
for x in range (0,X):
for y in range (0,Y):
temp = listrgb[i].split(',')
pic.putpixel([x,y],(int(temp[0]),int(temp[1]),int(temp[2])))
i = i+1
pic.show()
#pic.save(r"C:\Users\ben\Desktop\flag%s.png"%(X))
listrgb = open(r"C:\Users\ben\Desktop\1.txt").readlines()
X,Y = Crack(len(listrgb))
Paint(X,Y,listrgb)
Paint(Y,X,listrgb)
总结
1.可能影响画图结果的因素有:长宽值交换(不对的话会贼丑)、先循环x还是先循环y(不对的话会镜面)
2.最后提交的时候一直出错……原来单引号是中文的……
人间不值得
![](https://img.haomeiwen.com/i7087928/0c53b31220943d41.png)
网友评论