ascii 输入的数据验证

Data validation on ascii input

我正在尝试创建一个程序来使用 ascii 小数发送消息,我使用 try/except 进行验证但是当我用字母测试它时我得到这个“✏”。为什么?还有另一种方法可以在一行中完成所有验证吗?

message=""
letter=9999
while letter!=0:
  try:
    letter=int(input("Please enter a number, if finished enter '0'"))
  except ValueError:
    print("Invalid entry, you must enter a number.")
  sub=chr(letter)
  message=message+sub
print("Your secret message is",message,".")

在这种情况下,您应该使用 try-except-else 而不是 try-except 即:

message=""
letter=9999
while letter!=0:
  try:
    letter=int(input("Please enter a number, if finished enter '0'"))
  except ValueError:
    print("Invalid entry, you must enter a number.")
  else:
    sub=chr(letter)
    message=message+sub
print("Your secret message is",message,".")

只有在没有发生错误的情况下才会执行 try-except-else 中的其他内容。