不会写代码 将将进酒一句一行写入文件,然后对第一行第一个字第二行第二个字第n行第n个进行输出
参考GPT和自己的思路:
可以使用Python的文件操作和字符串操作来实现。具体步骤如下:
with open('file.txt', 'w') as f:
f.write('将\n')
f.write('进酒\n')
f.write('一\n')
f.write('句\n')
f.write('一\n')
f.write('行\n')
这将会将“将进酒”一句一行地写入到名为“file.txt”的文件中。
with open('file.txt', 'r') as f:
lines = f.readlines()
# 输出第一行第一个字
print(lines[0][0])
# 输出第二行第二个字
print(lines[1][1])
# 输出第n行第n个字
n = 4 # 表示第4行第4个字
print(lines[n-1][n-1])
这里的代码首先读取了文件中的所有行,并存储到一个名为“lines”的列表中,然后通过索引访问该列表,输出指定行列的字符。其中,第一行第一个字对应的是“lines[0][0]”,第二行第二个字对应的是“lines[1][1]”,以此类推。注意,在Python中,索引从0开始计数,因此需要将行和列的值减1,才能得到正确的索引值。
我的思路是:
1、首先,将《将进酒》每一行存入列表;
2、然后遍历列表每一个元素,即诗句每一行,存入文件每一行;
3、再次读取文件,然后使用一个变量来计算每一行需要读取的字的位置,再读取每一行后,取出相应的字打印即可。
代码如下:
参考链接:
# https://hanyu.baidu.com/shici/detail?from=kg1&highlight=%E5%B0%86%E8%BF%9B%E9%85%92%EF%BC%8C&pid=60841450e8714b78a6f7ef385dcb63e0&srcid=51369
# 把李白的《将进酒》的每一行诗句,存入列表
poetry = ["君不见,黄河之水天上来,奔流到海不复回。",
"君不见,高堂明镜悲白发,朝如青丝暮成雪。",
"人生得意须尽欢,莫使金樽空对月。",
"天生我材必有用,千金散尽还复来。",
"烹羊宰牛且为乐,会须一饮三百杯。",
"岑夫子,丹丘生,将进酒,杯莫停。",
"与君歌一曲,请君为我倾耳听。",
"钟鼓馔玉不足贵,但愿长醉不愿醒。",
"古来圣贤皆寂寞,惟有饮者留其名。",
"陈王昔时宴平乐,斗酒十千恣欢谑。",
"主人何为言少钱,径须沽取对君酌。",
"五花马,千金裘,呼儿将出换美酒,与尔同销万古愁。"]
# https://baijiahao.baidu.com/s?id=1753175384727300951&wfr=spider&for=pc
# 遍历存放诗歌的列表的每个元素,一行一个写入文件,每行结尾加个换行符
with open('poetry.txt','w') as file:
for line in poetry:
file.write(line+"\n")
i=1 # 第一行从第一个字开始
# https://blog.csdn.net/weixin_35749440/article/details/129514184
# 读取文件每一行,将每行行号个字输出
with open('poetry.txt','r') as file:
for line in file:
if line[i-1]!=',': # 因为诗文加了逗号,所以加个判断,去除打印逗号
print(line[i-1])
else: # 如果是逗号,打印后一个字
i=i+1
print(line[i-1])
i=i+1 # 指向下一个字