Python程序未显示输出

Python程序未显示输出,python,Python,可能重复: 程序需要包含检查。它应该要求用户输入一个十六进制数,并告诉他们这是否是一个有效的十六进制数。不清楚您想在程序中做什么,但对于start,while False:意味着while循环中的代码将始终被忽略而不执行。while False:的主体将永远不会执行 while False: print("You will never enter this loop.") . . . 这将执行,但您必须确保测试条件, 所以你可以打破这个循环。也就是说,您不希望无休止地循环 w

可能重复:


程序需要包含检查。它应该要求用户输入一个十六进制数,并告诉他们这是否是一个有效的十六进制数。

不清楚您想在程序中做什么,但对于start,while False:意味着while循环中的代码将始终被忽略而不执行。

while False:的主体将永远不会执行

while False:
  print("You will never enter this loop.")
  .
  .
  .
这将执行,但您必须确保测试条件, 所以你可以打破这个循环。也就是说,您不希望无休止地循环

while True:
      print("You will enter this loop.")
      print("Make sure you test for a condition that will let you "break".)
      break
编辑:你让我检查你的程序。还有一些问题

使用原始输入而不是输入。Python教程在建议的原始输入处

按照您编写程序的方式,如果您有一个多位数的数字,则需要检查每个数字,这就是Python的用途

我写了一些粗俗的东西。在我的版本中,您将测试0或非零。如果 零,你没有十六进制数。我相信有一种更优雅的方法可以做到这一点

我强烈建议在Python命令行中修改代码。这就是它的目的

def Check(HexInput):
    valid_hex_digit = 0 #Assume invalid
    for digit in HexInput:
        if digit in Valid:
            valid_hex_digit = valid_hex_digit + 1
        else:
            error_str = "Invalid hex digit " + str(digit) + " found."
            print(error_str)
            valid_hex_digit = 0
            break

    return valid_hex_digit
首先,

while False:
永远不会执行。可以使用while True:或while checked==False:但不能使用while False:

您的Check函数还必须接受参数,以便

def Check(UserInput, Valid):
您还需要一个额外的if语句,因为即使用户输入了无效的十六进制值,程序仍将打印有效的十六进制值

其次,

没有意义,因为您没有任何名为Check的变量

最后,您必须实际调用函数,如下所示:

Check(UserInput, Valid)

请注意,“12345678910ABCDEF”只是“12345678910ABCDEF”,不需要第二个1。这是家庭作业问题吗?如果是这样的话,请使用[家庭作业]标签。如果你不要求别人为你写代码,你会走得更远。建议您寻求帮助以确定问题所在。最好不要在你工作的时候一遍又一遍地重复同样的问题。坚持一条线,所以。。。你是如何把代码写到这一点的?我想让用户输入一个十六进制数,如果它是有效的,输出有效的十六进制数,如果不是,输出无效的十六进制数循环无关紧要。请根据编辑过的程序编辑你的问题。如果是真的,你能检查吗?你能检查我编辑过的程序吗?
return Check
Check(UserInput, Valid)