注册
登录
查看:376 | 回复:20
大佬们,我写一个程序来算txt文件中学生分数。我找了很久也没发现问题。希望各位朋友能帮帮我。
发表于 2022/10/11 8:24:01
楼主

_@230E(~UQ5_Q74[X}CT_QT.bmp


其中is_number自定义函数判断字符串是否为数字,若是返还原数字,若否返还0。
但是,我的程序只是计算前两成绩之和,不算入第三个数。

我找了很久也没发现问题。希望各位朋友能帮帮我。谢谢各位


laughlaugh
发表于 2022/10/11 8:26:59
沙发

文件是啥样的

为什么data[2]

发表于 2022/10/11 8:29:08
板凳

因为我读取txt文件生成列表

这是一个个列表里的元素

并对单个元素进行处理


98I77OH0TP0`$AYXH)D45]R.jpg

laughlaugh
发表于 2022/10/11 8:29:48
4楼

那data[2]是什么意思呢

目的是什么

发表于 2022/10/11 8:33:47
5楼

data[2]就是第三个元素

我先拿一个元素处理试试水

0{J]U`B]U6%E}CA)U)[8{@8.jpg

发表于 2022/10/11 8:36:07
6楼

L{{5Y}0TLXXB`57E7%1PL{V.jpg

D[@~1QN7K_KV~_CGTFP)(SW.jpg


1EF[MYH)B1JMYN@ZR`907O8.jpg


这就是全部了

laughlaugh
发表于 2022/10/11 8:37:10
7楼

你需要输出什么 三个成绩之和?

发表于 2022/10/11 8:39:35
8楼

是的

laughlaugh
发表于 2022/10/11 8:44:14
9楼

为什么要用\t替换\n

发表于 2022/10/11 8:44:48
10楼

因为每行最后一个字符是换行符,
我得将他替换为/t才能满足if
else的条件,即当letter等于/t时

才能将他们加在一起

也就是说在空格之前,我储存字符,在空格时判断并相加


发表于 2022/10/11 8:48:28
11楼

但是在最后一个不是空格,只会储存不会相加

所以必须换成空格

可是,为什么最后一个数字(也就是第三个数字)并没有进入else厚的语句

我输出else之前的结果出现


1NY{91_1}KC{77(QN68S`[A.bmp


64 61 36三个数说明程序储存了,但,似乎没有读到空格,然后没有进入else后的语句。

立即注册站大爷用户,免费试用全部产品
立即注册站大爷用户,免费试用全部产品