Python str.isnumeric()有问题
我正在尝试使用isnumeric字符串方法测试命令行参数是否为数字。据我所知,如果所有字符都是数字,则返回True;如果不是,则返回false。然而,当运行它时,无论它是否是数字,我似乎都会返回TruePython str.isnumeric()有问题,python,python-3.x,command-line-arguments,isnumeric,Python,Python 3.x,Command Line Arguments,Isnumeric,我正在尝试使用isnumeric字符串方法测试命令行参数是否为数字。据我所知,如果所有字符都是数字,则返回True;如果不是,则返回false。然而,当运行它时,无论它是否是数字,我似乎都会返回True def get_data(): sys.argv[1].isnumeric() if True: print('argument is number') else: print("Usage: python3 WnnnnnnnnAssg3.
def get_data():
sys.argv[1].isnumeric()
if True:
print('argument is number')
else:
print("Usage: python3 WnnnnnnnnAssg3.py number file1 file2 . . . filen")
quit()
if len(sys.argv) < 3 :
print("Usage: python3 WnnnnnnnnAssg3.py number file1 file2 . . . filen")
quit()
get_data()
def get_data():
sys.argv[1].isnumeric()
如果为真:
print('参数是number')
其他:
打印(“用法:python3-wnnnnassg3.py数字文件1-file2…filen”)
退出
如果len(sys.argv)<3:
打印(“用法:python3-wnnnnassg3.py数字文件1-file2…filen”)
退出
获取_数据()
您需要将isnumeric()
的结果分配给一个变量并检查其值:
value = sys.argv[1].isnumeric()
if value:
print('argument is number')
else:
print("Usage: python3 WnnnnnnnnAssg3.py number file1 file2 . . . filen")
quit()
此外,使用内置包将使命令行参数解析和验证更加清晰易读(link)。谁教你使用
if
的?