繁体   English   中英

HackerRank Python打印STDOUT似乎不起作用

[英]HackerRank Python print STDOUT doesn't seem to work

我对Python非常陌生,因此正在尝试HackerRank上的“ Counting Valleys”问题。 我已经在PyCharm中编写了我的解决方案,并且可以很好地解决问题/对解决方案的预期输出给出了正确的答案。

  • 我试图在此站点上进行搜索,但是似乎没有具体的解决方案,因此,我一定错过了一些明显的内容。

问题是,当我将代码移植到HackerRank时,它只会显示“错误答案”。

我想通过使用“打印”或任何其他方式来获取反馈,以了解问题所在。

下面,我在不同的地方添加了“打印”行,以显示我也尝试过的区域。

这是我遇到此问题的第二个解决方案,任何建议/建议都将不胜感激,因为它超级烦人且令人沮丧,无法继续使用,任何帮助均不胜感激。

# !/bin/python

import math
import os
import random
import re
import sys
import logging


# Complete the countingValleys function below.
def countingValleys(n, s):
    print('Please print')
    if __name__ == '__main__':
        fptr = open(os.environ['OUTPUT_PATH'], 'w')

        n = int(raw_input())
        s = raw_input()

        sea_level = 0
        valleys = 0
        last_step = ''
        in_same_valley = False
        print('Ok maybe here?')
        for step in s:
            if step == 'D':
                if last_step == 'D' and sea_level <= 0:
                    if not in_same_valley:
                        valleys += 1
                        in_same_valley = True
                sea_level -= 1
            else:
                sea_level += 1
                in_same_valley = False
            last_step = step

        print('Ok perhaps here?')
        fptr.write(str('valleys') + '\n')
        fptr.close()
    print('Ok try here?')

您的缩进错误。 尝试类似:

#!/bin/python3

import math
import os
import random
import re
import sys

# Complete the countingValleys function below.
def countingValleys(n, s):
    print('hi')

# The below line should not be inside the function countingValleys
if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    ....

它应该工作。 您将在底部的“ Debug output框中看到输出

数谷挑战

这就是我解决计数山谷挑战的方法

def countingValleys(n, s):
    ls = list(s)
    seeLevel = 0
    valley = 0
    for i in ls:
        if i == 'U':
            seeLevel += 1
        else:
            if seeLevel == 0:
               valley +=1
            seeLevel-= 1
    return valley
if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    n = int(raw_input())
    s = raw_input()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM