程序媛审美测评——控制台256种颜色搭配及控制台改变界面颜色的方法

改变控制台颜色的方法+程序媛审美色调推荐

前言

C语言小学期做大作业,感觉黑底白字略显单调,想换个颜色change一下枯燥的程序(然并卵)。对,前景和背景色各16种,笔者挨个测过去,一共测了256次。在此过程中,耐心逐渐丧失,面部逐渐狰狞。

改变颜色der方法

1.直接cmd敲开控制台,
color -h 查询颜色帮助文档
在这里插入图片描述
然后输入命令color XY就可以搞事情了
eg:
在这里插入图片描述
当然这种方法下次再敲开cmd还是原来系统默认的黑底白字,所谓一时爽爽一时

2.项目中可以用system函数改颜色,
头文件#include<windows.h>
调用 system("color XY");
【X为前景色(字的颜色),Y为背景色】

程序媛颜色审美测评

初筛42种搭配

测了256种颜色后,挑出来了42种颜色搭配还不错。
有的颜色显示在控制台上是真的敲好看,但是笔者截图后再裁减再拼图再搞上文字传到电脑上,图片颜色有些失真,就和实际看到的有了些变化,这些图片就没有刚开始看时候辣么好看了唉。
先上这42种颜色,每张图片右下角是颜色的搭配(XY)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

复试4种出挑

然后笔者又挑了几种最顺眼的颜色放到笔者的小项目里试了一下,考虑了颜色本身搭配效果和实际呈现的整个界面效果这两个方面,最后留下了这几个颜色自用(但是一些其他界面,如错误警告界面,笔者会选择以上47或0C):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在项目界面里这些搭配都不会显得突兀,而且稍有温度一丢丢~

关注我,一个有灵魂的程序媛ヾ(o´∀`o)ノ

  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 基于SVD分解构建词向量的代码 ```python import numpy as np from sklearn.decomposition import TruncatedSVD class SVDWordEmbedding: def __init__(self, corpus, dim=100, window_size=5): self.corpus = corpus self.dim = dim self.window_size = window_size self.vocab = {} self.vectors = [] self.build_vocab() self.build_vectors() def build_vocab(self): words = [] for sentence in self.corpus: words.extend(sentence) for word in words: if word not in self.vocab: self.vocab[word] = len(self.vocab) def build_vectors(self): co_matrix = np.zeros((len(self.vocab), len(self.vocab))) for sentence in self.corpus: for i, word in enumerate(sentence): if word in self.vocab: for j in range(max(0, i - self.window_size), min(len(sentence), i + self.window_size + 1)): if i != j and sentence[j] in self.vocab: co_matrix[self.vocab[word]][self.vocab[sentence[j]]] += 1 svd = TruncatedSVD(n_components=self.dim) self.vectors = svd.fit_transform(co_matrix) def get_vector(self, word): if word in self.vocab: return self.vectors[self.vocab[word]] else: return np.zeros(self.dim) def most_similar(self, word, topn=10): if word not in self.vocab: return [] vec = self.get_vector(word) sims = self.vectors.dot(vec) most_similar_idx = np.argsort(sims)[::-1][:topn] return [(list(self.vocab.keys())[i], sims[i]) for i in most_similar_idx] ``` 2. 基于SGNS构建词向量的代码 ```python import numpy as np import tensorflow as tf class SGNSWordEmbedding: def __init__(self, corpus, dim=100, window_size=5, neg_samples=5, batch_size=128, learning_rate=0.01, epochs=10): self.corpus = corpus self.dim = dim self.window_size = window_size self.neg_samples = neg_samples self.batch_size = batch_size self.learning_rate = learning_rate self.epochs = epochs self.vocab = {} self.build_vocab() self.build_model() def build_vocab(self): words = [] for sentence in self.corpus: words.extend(sentence) for word in words: if word not in self.vocab: self.vocab[word] = len(self.vocab) def build_model(self): self.graph = tf.Graph() with self.graph.as_default(): self.input_word = tf.placeholder(tf.int32, [None]) self.output_word = tf.placeholder(tf.int32, [None, 1]) self.neg_word = tf.placeholder(tf.int32, [None, self.neg_samples]) self.embedding = tf.Variable(tf.random_uniform([len(self.vocab), self.dim], -1.0, 1.0)) self.input_embed = tf.nn.embedding_lookup(self.embedding, self.input_word) self.output_embed = tf.nn.embedding_lookup(self.embedding, self.output_word) self.neg_embed = tf.nn.embedding_lookup(self.embedding, self.neg_word) self.weights = tf.Variable(tf.truncated_normal([len(self.vocab), self.dim], stddev=1.0 / np.sqrt(self.dim))) self.biases = tf.Variable(tf.zeros([len(self.vocab)])) self.loss = tf.reduce_mean(tf.nn.sampled_softmax_loss(weights=self.weights, biases=self.biases, inputs=self.input_embed, labels=self.output_word, num_sampled=self.neg_samples, num_classes=len(self.vocab))) self.optimizer = tf.train.GradientDescentOptimizer(self.learning_rate).minimize(self.loss) self.init = tf.global_variables_initializer() def train(self): with tf.Session(graph=self.graph) as sess: sess.run(self.init) for epoch in range(self.epochs): total_loss = 0.0 for i, sentence in enumerate(self.corpus): word_pairs = self.build_word_pairs(sentence) for j in range(0, len(word_pairs), self.batch_size): batch_pairs = word_pairs[j:j + self.batch_size] inputs, outputs = zip(*batch_pairs) neg_words = self.generate_neg_samples(inputs) _, loss = sess.run([self.optimizer, self.loss], feed_dict={ self.input_word: inputs, self.output_word: np.array(outputs)[:, np.newaxis], self.neg_word: neg_words }) total_loss += loss print('Epoch %d, Loss: %f' % (epoch, total_loss)) self.vectors = sess.run(self.embedding) def build_word_pairs(self, sentence): word_pairs = [] for i, word in enumerate(sentence): if word in self.vocab: for j in range(max(0, i - self.window_size), min(len(sentence), i + self.window_size + 1)): if i != j and sentence[j] in self.vocab: word_pairs.append((self.vocab[word], self.vocab[sentence[j]])) return word_pairs def generate_neg_samples(self, inputs): neg_words = [] for _ in range(len(inputs)): neg_samples = [] while len(neg_samples) < self.neg_samples: word = np.random.choice(list(self.vocab.keys())) if self.vocab[word] not in inputs and self.vocab[word] not in neg_samples: neg_samples.append(self.vocab[word]) neg_words.append(neg_samples) return np.array(neg_words) def get_vector(self, word): if word in self.vocab: return self.vectors[self.vocab[word]] else: return np.zeros(self.dim) def most_similar(self, word, topn=10): if word not in self.vocab: return [] vec = self.get_vector(word) sims = self.vectors.dot(vec) most_similar_idx = np.argsort(sims)[::-1][:topn] return [(list(self.vocab.keys())[i], sims[i]) for i in most_similar_idx] ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值