【发布时间】:2022-11-01 23:08:15
【问题描述】:
score = []
percent = []
add = []
print("Enter Grade")
#getting input from user
def multi_input():
try:
while True:
data=input()
if not data: break
yield data
except KeyboardInterrupt:
return
data = list(multi_input())
#filter data into percent and score
for i in range(3, len(data),4):
data[i] = data[i].split('\t')
try:
percent.append(data[i][3])
score.append(data[i][4])
except IndexError:
result = 0
#take out ungraded values
percent = [value for value in percent if value != '']
score = [value for value in score if value != '']
#refine percent data
for i in range(len(percent)):
try:
percent[i] = percent[i].replace('%', '')
percent[i] = float(percent[i])
except ZeroDivisionError:
result = 0
#refine score data
for i in range(len(score)):
score[i] = score[i].split('/')
for j in range(len(score[i])):
score[i][j] = float(score[i][j])
try:
score[i] = score[i][0]/score[i][1]*100
except ZeroDivisionError:
result = 0
#amount of assignments
print()
print("graded assignments: ", len(score))
#calculation
for i in range(len(score)):
add.append(score[i]*percent[i]/100)
print(f"{sum(add)/sum(percent)*100:05.2f}")
此代码应在按两次 Enter 后打印此输入/数据的 GPA:
十月
12
测试
测试 2 B 18.3% 41/50 10/12/22
十月
05
实验室和项目
植物颜料 A 15% 9/10 10/7/22
九月
28
家庭作业/作业
叶解剖 A 2.6% 20/20 9/28/22
九月
23
家庭作业/作业
渗透 A 3.4% 26/26 10/21/22
九月
21
测试
测试 1 B 21.7% 47.5/59 9/23/22
九月
21
家庭作业/作业
单元格图 A 2.6% 20/20 9/28/22
九月
07
实验室和项目
实验室:识别大分子 A 15% 12/10 9/21/22
九月
07
家庭作业/作业
水的性质 A 4% 30/30 9/14/22
九月
05
家庭作业/作业
酶:实践你所知道的 A 2% 15/15 9/14/22
八月
26
家庭作业/作业
大分子图表 A 2.6% 20/20 9/11/22
八月
22
家庭作业/作业
科学投资实践 B 2.6% 16/20 9/13/22
它在 Pycharm 上完美运行,但是当通过 pyinstaller 或 autopytoexe 转换为 .exe 时,控制台屏幕只是关闭而不是打印结果。
帮助
我不知道这个错误是从哪里来的,因为在某些平台上它可以工作,而另一些则不能
【问题讨论】:
-
“关闭而不是打印结果” - 更有可能的是,它非常快速地打印结果然后退出,因为它无事可做。您可以在脚本末尾插入
input(),以使您的代码等待用户输入内容并终止程序。 -
这回答了你的问题了吗? How to keep a Python script output window open?
标签: python pyinstaller exe auto-py-to-exe