python3:`else`语句执行,即使`if`语句是tru

2024-04-18 22:41:49 发布

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

根据前面的问题Else statement executing even the IF statement is TRUE,提供的建议是检查缩进。我的代码中的缩进似乎是正确的。有什么问题吗?你知道吗

根据https://www.tutorialspoint.com/python/python_if_else.htm

An else statement can be combined with an if statement. An else statement contains the block of code that executes if the conditional expression in the if statement resolves to 0 or a FALSE value.

根据我的理解,如果if语句正确/正确,就不应该执行else。你知道吗

然而,在这段代码中。。。else语句仍被执行。。见python myCode.py -i 8.8.8.8

C:\Python>python myCode.py
No Argument Provided


C:\Python>python myCode.py -h
usage: myCode.py [-h] [-u URL] [-i IP]

optional arguments:
  -h, --help         show this help message and exit
  -u URL, --url URL  Uniform Resource Locator
  -i IP, --ip IP     IP Address


C:\Python>python myCode.py -u google.com
~ URL is google.com


C:\Python>python myCode.py -i 8.8.8.8
~ IP Address is 8.8.8.8
No Argument Provided

C:\Python>

这是密码。你知道吗

import argparse

parser = argparse.ArgumentParser()

parser.add_argument('-u', '--url',
    help='Uniform Resource Locator' )

parser.add_argument('-i', '--ip',
    help='IP Address' )

args = parser.parse_args()

if args.ip:
    print("~ IP Address is " + args.ip)
if args.url:
    print("~ URL is " + args.url)
else:
    print("No Argument Provided")

请告诉我这里出了什么问题。No Argument Provided不应该在那里。你知道吗

C:\Python>python myCode.py -i 8.8.8.8
~ IP Address is 8.8.8.8
No Argument Provided

Tags: thenopyipurlifisaddress
1条回答
网友
1楼 · 发布于 2024-04-18 22:41:49

您可能需要使用elif。执行案例中的else,因为args.url是空的。你知道吗

例如:

if args.ip:
    print("~ IP Address is " + args.ip)
elif args.url:
    print("~ URL is " + args.url)
else:
    print("No Argument Provided")

相关问题 更多 >