| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 90 人关注过本帖
标题:python3.13的逻辑混乱?还是我的逻辑没缕清楚?
只看楼主 加入收藏
小白到底白不
Rank: 2
等 级:论坛游民
帖 子:78
专家分:58
注 册:2024-4-7
结帖率:91.67%
收藏
已结贴  问题点数:20 回复次数:3 
python3.13的逻辑混乱?还是我的逻辑没缕清楚?
写了一个传参进程序的小程序。
程序代码:
import os
from ftplib import FTP
import sys

if len(sys.argv)>1:
    print("第一个参数:",sys.argv[1])
    if len(sys.argv)>2:
        print("第二个参数:",sys.argv[2])
    else:
    print("没有提供第二个参数!")
else:
    print("没有提供第一个参数!")

提示我:TabError: inconsistent use of tabs and spaces in indentation
原因是我复制了第一个else,于是,数空格,要保持一至!
修改后的运行结果还不错。
第一个参数: abc
没有提供第二个参数!

但是,再复制一次,就出问题了。
程序代码:
if len(sys.argv)>1:
    print("第一个参数:",sys.argv[1])
    if len(sys.argv)>2:
        print("第二个参数:",sys.argv[2])
    else:
        print("没有提供第二个参数!")
        if len(sys.argv)>3:
            print("第三个参数:",sys.argv[3])
        else:
            print("没有提供第三个参数!")
else:
    print("没有提供第一个参数!")

不输入参数,提示错误。输入一个参数,也有提示。输入两个,第三个的提示给跳过了?
程序代码:
H:\python\studyPython>python ftpConnTest.py
没有提供第一个参数!

H:\python\studyPython>python ftpConnTest.py abc
第一个参数: abc
没有提供第二个参数!
没有提供第三个参数!

H:\python\studyPython>python ftpConnTest.py abc bcd
第一个参数: abc
第二个参数: bcd


这是怎么回事?

小白到底白不白?知识很空白,脸有点黄,眼睛是黑的,血是红的,心肠算是比较热。
6 天前 06:56
小白到底白不
Rank: 2
等 级:论坛游民
帖 子:78
专家分:58
注 册:2024-4-7
收藏
得分:0 
程序代码:
import os
from ftplib import FTP
import sys

if len(sys.argv)>=3:
    print("第一个参数:",sys.argv[1])
    print("第二个参数:",sys.argv[2])
    print("第三个参数:",sys.argv[3])
else:
    print("没有提供足够的参数!")


改成这样,也不行啊,不给参数或者给一个参数,程序运行都没问题,但给两个参数就出问题了?

程序代码:
H:\python\studyPython>python ftpConnTest.py
没有提供足够的参数!

H:\python\studyPython>python ftpConnTest.py abc
没有提供足够的参数!

H:\python\studyPython>python ftpConnTest.py abc bcd
第一个参数: abc
第二个参数: bcd
Traceback (most recent call last):
  File "H:\python\studyPython\ftpConnTest.py", line 8, in <module>
    print("第三个参数:",sys.argv[3])
                         ~~~~~~~~^^^
IndexError: list index out of range

H:\python\studyPython>

小白到底白不白?知识很空白,脸有点黄,眼睛是黑的,血是红的,心肠算是比较热。
6 天前 07:10
forever74
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:CC
等 级:版主
威 望:58
帖 子:1709
专家分:4385
注 册:2007-12-27
收藏
得分:20 
您脑海中的三个参数,实际上是第2、3、4个。
第一个是argv[0],ftpConnTest.py
也就是说上面>=4才行。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
6 天前 08:23
小白到底白不
Rank: 2
等 级:论坛游民
帖 子:78
专家分:58
注 册:2024-4-7
收藏
得分:0 
回复 3楼 forever74
收到,非常感谢

小白到底白不白?知识很空白,脸有点黄,眼睛是黑的,血是红的,心肠算是比较热。
6 天前 20:02
快速回复:python3.13的逻辑混乱?还是我的逻辑没缕清楚?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020833 second(s), 11 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved