def main(): number=0 total=0 while True: chenji=float(input("【请输入成绩:】")) #**********Program********** #********** End ********** flag = input('【继续输入成绩吗?(y/n)】') if flag not in ('y', 'n'): print('【只能输入y或n】') else: break if flag=='n': break print('【输入的所有分数的平均分为】%.2f'%(total/number)) if __name__ == '__main__': main()
时间: 2023-07-05 20:24:20 浏览: 64
这段程序的逻辑有一些问题,正确的代码应该是这样的:
```
def main():
number = 0
total = 0
while True:
chenji = float(input("【请输入成绩:】"))
total += chenji
number += 1
flag = input('【继续输入成绩吗?(y/n)】')
if flag not in ('y', 'n'):
print('【只能输入y或n】')
else:
if flag == 'n':
break
print('【输入的所有分数的平均分为】%.2f' % (total / number))
if __name__ == '__main__':
main()
```
改正后的程序会正确地计算输入成绩的平均分。修改的主要内容有:
1. 将chenji加到总分total中的代码添加上了。
2. 将number加1的代码添加上了。
3. 将break语句放到了正确的if语句块中。
4. 删除了多余的缩进。
相关问题
Class.forName("com.chenji60.cj.jdbc.Driver");出现Exception in thread "main" java.lang.ClassNotFoundException: com.chenji60.cj.jdbc.Driver
当你在 Java 应用程序中使用 `Class.forName` 方法尝试加载名为 `com.chenji60.cj.jdbc.Driver` 的类时,如果抛出 `ClassNotFoundException`,通常表示Java虚拟机(JVM)无法找到指定的类。这可能有以下几个原因:
1. **类路径(Classpath)问题**:`Class.forName` 需要在类路径(classpath)中能找到该类文件。如果你没有将包含 `Driver` 类的 JAR 文件添加到类路径,或者 JAR 文件中的类路径配置不正确,就会导致找不到类。
2. **包名拼写错误**:检查类名和包名是否完全匹配 `ClassNotFoundException` 中给出的全限定名。有时候由于拼写错误,即使类存在也可能无法找到。
3. **类未编译或不存在**:确认对应的源代码已经被编译并且生成了字节码,如果没有或者编译后的 `.class` 文件缺失,也会导致找不到类。
4. **类已被删除**:如果这个类文件因为某种原因从磁盘上被删除或者从项目的构建过程中移除了,`Class.forName` 就会找不到。
5. **权限问题**:如果你的应用程序没有足够的权限去访问特定的类,也可能会引发这个异常。
要解决这个问题,你可以尝试以下步骤:
- 确保包含 `Driver` 类的 JAR 文件在类路径(classpath)中。
- 检查类名、包名以及全限定名的拼写。
- 如果是源码,确认已经编译并生成 `.class` 文件。
- 检查是否有权限问题,确保应用程序有访问所需的类文件的权限。