gpt4 book ai didi

python如何读取一行直到EOF

转载 作者:太空宇宙 更新时间:2023-11-04 06:39:59 25 4
gpt4 key购买 nike

对于这个问题,我正在尝试阅读一些行直到 EOF:

https://open.kattis.com/problems/tight

这是我尝试过的:

from collections import defaultdict
import sys


def get_ans(n, k):
dp = defaultdict(int)
total = defaultdict(int)
for i in range(n):
for num in range(k+1):
if num+1 <= k:
dp[(i, num)] += dp[(i-1, num+1)]
if num-1 >= 0:
dp[(i, num)] += dp[(i-1, num-1)]
dp[(i, num)] += dp[(i-1, num)]

dp[(i, num)] = max(dp[(i, num)], 1)
total[i] += dp[(i, num)]
return total[n-1]/((k+1)**n)*100


def main():
for line in sys.stdin:
if line == "":
break
print(line)
k, n = map(int, input().split())
ans = get_ans(n, k)

print(str.format('{0:.6f}', ans))



if __name__ == "__main__":
main()

问题:如果我复制输入并将其全部粘贴到终端中以运行脚本,我的输出如下所示:

我的输入:

4 1
2 5
3 5
8 7

终端输出

40.740741
3 5

似乎有些行没有处理——我不明白为什么。

有人能给我指出正确的方向吗?

最佳答案

main 中,我建议使用 while 循环,正如已经指出的 input 一样,input 处理来自 sys 的传入数据。 stdin 给你。

def main():
line = input()
while line:
k, n = map(int, line.split())
ans = get_ans(n, k)
print(str.format('{0:.6f}', ans))

line = input()

关于python如何读取一行直到EOF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59143771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com