使用if语句判断NULL用户输入并打印:“sometext ...”

0 投票
2 回答
9652 浏览
提问于 2025-04-16 15:49

我刚开始用Python,感觉它的缩进方式和没有分号、括号的写法让我有点不习惯,因为我之前是用C++的。我知道这应该是个简单的问题,但我找不到原因。非常感谢你的帮助。以下是我的代码。当我运行这段代码时,第二个'if'语句好像根本不存在。即使我把第一个'if'语句注释掉,第二个'if'语句里的打印语句也从来没有显示出来:

import re


while True:
   stringName = raw_input("Convert string to hex & ascii(type stop to quit): ").strip()
   if stringName == 'stop':
      break
   if stringName is None: print "You must enter some text to proceed!"

   print "Hex value: ", stringName.encode('hex')
   print "ASCII value: ", ', '.join(str(ord(c)) for c in stringName) 

2 个回答

1

raw_input 总是返回一个字符串,而不会返回 None。你可以查看 raw_input 的帮助文档。

raw_input([提示信息]) -> 字符串

从标准输入读取一个字符串。输入结束时的换行符会被去掉。如果用户输入了结束符(在Unix系统上是按 Ctrl-D,在Windows上是按 Ctrl-Z 然后回车),会抛出 EOFError 错误。在Unix系统上,如果启用了 GNU readline,输入提示信息会在读取之前显示出来,并且不会有换行符。

9

raw_input()的返回值总是一个字符串,绝对不会是None。如果你想检查一个空字符串"",可以使用

if not string_name:
    # whatever

撰写回答