Python inFile 有洛克
我正在尝试打开文件 python, 删除文件中的平均值 input.txt. 在拍摄平均值之后,例如,它们必须在每个人名称之后显示
我们还没有在课堂上讨论过它,所以我不太确定我的所作所为。 我假设我们必须使用循环,但我不太确定我如何实现它。
这是一个继续返回此代码 avg 作为一个不可接受的语法:
输入文件包含
将欣赏这个问题的任何帮助。 我不知道该怎么做。
</avg></student>
<student>'s score is <avg> bacons.
我们还没有在课堂上讨论过它,所以我不太确定我的所作所为。 我假设我们必须使用循环,但我不太确定我如何实现它。
这是一个继续返回此代码 avg 作为一个不可接受的语法:
def main//:
inFile = open/"input.txt","r"/
numVals = int/inFile.readline///
name = inFile.readline//
number = float/int/inFile.readline//.split///
avg = float/int/number[0]* .3 + number[1]* .1 + number[2]* .6//
print/"name[0 , len/name/]'s Score is",avg,"bacons."/
inFile.close//
main//
输入文件包含
5
Amelia
90 100 75
George
87 90 90
Adam
100 80 85
Jenny
75 80 90
Carl
86 87 88
将欣赏这个问题的任何帮助。 我不知道该怎么做。
</avg></student>
没有找到相关结果
已邀请:
2 个回复
冰洋
赞同来自:
你有四个
C,但只有三个
从。
所以 Python 期望在下行继续表达 , 但他看到了
, 它不能出现在表达的中间,因此它导致
.
当你收到
在看起来完全正常的线上,有两个好东西要尝试。
首先,将此线条分成较小的部分,将这些较小的零件输入到交互式解释器等。
其次,一旦确保这条线条是有序的,请查看它上方的线并计算括号 /和括号和括号/. 一个好的编辑器使得它更容易 - 或只是将字符串输入交互式解释器; 如果您还没有关闭所有括号 , 他会给你
反而
, 什么意味着他在完成前一行时等待,并不期待一个全新的字符串。
一旦你经过它,你就会得到
, 因为你试图打电话
在
你来自的三条线
. 这不起作用; 你必须打电话
在每个人。 所以与其:
这样做:
numbers = [float/int/number// for number in inFile.readline//.split//]
如果您尚未学会了解列表,则必须使用循环执行此操作。 例如:
顺便说一下,我不太明白你为什么要做
. 如果您想在整数值之前磨练它们,那么您不需要此处
- 整数的衍生 .3 它刚刚完美地工作。 如果要保存任何十进制部分,则不需要
. 所以只使用一个或另一个。
你在下行做同样的事情:
结果
- 这是
, 作为
为乔治。 然后你将它转换为
, 什么会给你
. 然后你把它转换回来
, 收到
. 我无法想象这是 , 你想要什么,你 , 可能想要没有转换
, 或许被截断
作为
, 但不是
作为误导性
.
此外,你是如何打字的东西,而不是奇怪,我不确定它应该做什么:
print/"name[0 , len/name/]'s Score is",avg,"bacons."/
它会打印一些类似的东西:
name[0 , len/name/]'s Score is 89.0 bacons.
如果要显示变量的值,请不要将其放在引号中:
但无论你试图用这些
和
... 好吧,我不知道你想要做什么,所以我无法解释如何做到这一点。
无论如何,它将打印:
你可能需要 , 之后不需要这个空间
, 正确的? 解决此问题的最佳方法是使用字符串格式:
如果您尚未学到这一点,诚实地,我认为最好只是弄清楚超空间或者可以重写优惠,以便这不是问题:
或者,当然,在你的老师到他身边之前自己学习。 这不是那么困难。
最后,当您通过此时,您只读一个名称和房间列表,而不是
他们。 为此,您需要一个循环:
小姐请别说爱
赞同来自: