如何不输出任何内容

2024-06-17 08:52:48 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我写了一个程序,它告诉我输入中是否有十六进制。你知道吗

hexadecimal = ['0','1','2','3','4','5','6','7','8','9','a','A','b','B','c','C','d','D','e','E','f','F']
output = ''
for c in hexadecimal:
  digit = input('Digit: ')
  output += c.join(digit)
  if digit == '':
    print(output, 'is a valid hexadecimal string.')
    break
  elif digit not in hexadecimal:
    print(digit, 'is not a valid hexadecimal digit.')
    break

这个程序的完整代码工作,唯一的问题是,我需要添加到我的代码时,用户没有输入任何东西。你知道吗

enter image description here


Tags: 代码in程序forinputoutputisnot
3条回答

在附加到output之前,请使用另一个if语句:

if len(output) == 0 and len(digit) == 0:
    print("input is blank")

这将检查用户以前没有输入任何内容,当前也没有输入任何内容,如果两者都为真,则告诉他们输入为空。你知道吗

修改if

if digit == '':
  if len(output)==0:
    print('The input was blank')
    break
  else:
    print(output, 'is a valid hexadecimal string.')
    break
elif digit not in hexadecimal:
  print(digit, 'is not a valid hexadecimal digit.')
  break

这样做:

hexadecimal = ['0','1','2','3','4','5','6','7','8','9','a','A','b','B','c','C','d','D','e','E','f','F']
digit = input('Digit: ')

while digit is not '':
    if digit in hexadecimal:
        print(digit, 'is a valid hexadecimal string.')
    else:
        print(digit, 'is not a valid hexadecimal digit.')
    digit = input('Digit: ')

print('The input was blank')

如果数字是十六进制的(它检查所提供的输入是否在给定的列表中),那么使用结构比使用for循环和插入制动器更好。你知道吗

相关问题 更多 >