【发布时间】:2012-03-12 18:23:06
【问题描述】:
#Hex Check
def Check():
while False:
for char in UserInput:
if char not in Valid:
print ('That is an invalid hex value.')
print('That is a valid hex value.')
return Check
UserInput=input('Enter a hex number: ')
Valid='1''2''3''4''5''6''7''8''9''10''A''B''C''D''E''F'
编辑:我试过这个。当我输入一个十六进制值时,例如B2 没有消息出现。
【问题讨论】:
-
没有无效的十六进制数字组合,就像没有无效的十进制数字组合一样。您只需检查用户输入中的所有字符是否都是集合 {0-9, A-F} 的成员
-
你的代码不起作用的原因是因为你的
Check()函数从未被调用过。 -
我可以在打印声明中调用它吗?
-
请准确地说明你想让你的脚本做什么。您是否希望用户输入一个值并告诉用户它是否是有效的十六进制数?您是否希望程序一直询问直到收到有效的十六进制数字?
-
您已经在 check() 中有打印语句,因此没有必要。只需在`UserInput = ...
, or if you plan on doing something with the user input after the check, insertsomeVariable = Check()`之后插入行Check()。
标签: python