print(input().split().append("'Allen"))
为什么会输出none
append方法没有返回值
改为
a=input().split()
a.append("'Allen")
print(a)
我们写的程序里,不光有代码,还要有很多注释。注释有说明性质的,帮助性质的,他们在代码执行过程中相当于不存在,透明的。(增加代码可读性)
在import os 的内置模块 我们选中Ctrl+点击鼠标左键进去os.py文件就可以查看Python自带的代码
在文件中这些灰色,深色的都是注释 ,在一些关键的地方都会有一些注释。这些注释是Python的前辈,为了让我们这些想学Python的人,看这些代码的时候,让我们知道这些代码是做什么的。增加可读性。
回答:
在Python中,如果在列表中增加元素后,输出为None的问题,可能是因为修改了原始列表,但是没有对其进行打印或者返回操作。解决该问题的方法是可以通过在修改列表的语句后,加上打印或者返回语句。例如:
my_list = [1, 2, 3]
my_list.append(4) # 修改列表
print(my_list) # 打印修改后的列表
这样就可以避免输出None的问题。
在Python中整型不会溢出是因为Python中统一使用了长整型。这也是吸引科研人员的一部分了,适合大数据运算,不会溢出。因此Python就降低了其他行业的学习门槛。
在Python中,并没有真正意义上的私有,在给属性、方法命名时,对名称做了一些特殊处理,使得外界无法访问到,称为伪私有。
递归在Python中可以用于解决很多算法问题,将复杂的问题分成一个个小问题,一一解决。比如求斐波那契数列、汉诺塔、多级评论树、二分查找、求阶乘等。
生成中文词云比较复杂,需要自己进行分词,使用jieba库,需要自己设置中文字体,需要自己手动剔除停用词(无意义词),可以使用Trie树来解决。通过上述步骤,可以生成中文词云,并可以设置输出图片的路径和格式。
针对列表增加元素输出None的问题,以下是一份完整的示例代码:
my_list = [1, 2, 3]
my_list.append(4)
print(my_list)
其中,append
方法修改了原始列表,而print
语句打印了修改后的列表,就可以避免出现输出None的问题。
以下是一份完整的生成中文词云的代码,需要先安装jieba和wordcloud库:
from wordcloud import WordCloud
import PIL.Image as image
import numpy as np
import jieba
# 设置路径和变量值
encoding_type = "utf-8"
background_color = "white"
txt_path = "text.txt"
font_path = "simhei.ttf"
mask_path = "mask.png"
stopword_path = "stopwords.txt"
img_path = "wordcloud.png"
max_words_num = 100
# 读取文本内容
def get_txt(txt_path):
with open(txt_path, encoding=encoding_type) as f:
text = f.read()
return text
# 进行分词
def cut_words(text):
words = " ".join(jieba.cut(text, cut_all = False))
words_list = words.split(" ")
return words_list
# 去掉停用词
def del_stopwords(words_list, stopword_path):
stopword_list = [line.strip() for line in open(stopword_path, encoding=encoding_type).readlines()]
refined_words_list = [word for word in words_list if word not in stopword_list]
return " ".join(refined_words_list)
# 生成词云
def gen_wordcloud(refined_words_list, mask_path, font_path, background_color, max_words_num):
mask = np.array(image.open(mask_path))
wordcloud = WordCloud(
font_path = font_path,
background_color = background_color,
mask = mask,
max_words = max_words_num
).generate(refined_words_list)
return wordcloud
text = get_txt(txt_path)
words_list = cut_words(text)
refined_words_list = del_stopwords(words_list, stopword_path)
word_cloud = gen_wordcloud(refined_words_list, mask_path, font_path, background_color, max_words_num)
image_file = word_cloud.to_image()
image_file.show()
word_cloud.to_file(img_path)
其中,get_txt
函数读取文本内容,cut_words
函数进行分词,del_stopwords
函数去掉停用词,gen_wordcloud
函数生成词云,最后使用to_file
方法保存生成的图片。