为了账号安全,请及时绑定邮箱和手机立即绑定

(新手)有没有办法根据变量跳过执行部分程序

(新手)有没有办法根据变量跳过执行部分程序

慕无忌1623718 2022-07-05 16:58:16
我曾尝试定义自己的 goto 功能(我知道这是一个坏主意,但我有唯一的想法)。有没有更好的方法来跳过基于变量的一些代码行。这是我目前拥有的代码x = len(list)#ltr1 = list[0] ltr2 = list[1]  ltr3 = list[2] ltr4 = list[3] ltr5 = list[4]ltr6 = list[5] ltr7 = list[6] ltr8 = list[7] ltr9 = list[8] ltr10 = list[9] ltr11 = list[10] ltr12 = list[11] ltr13 = list[12]#在这种情况下,我希望程序只执行散列之间的一些行 - 即if x = 5我只希望它执行到行ltr5 = list|[4],跳过散列内的代码,然后继续执行代码。
查看完整描述

3 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

您可以将 ltr1 作为列表,并根据变量 x 循环列表以填充 ltr1 中的值


ltr1 = [None]*13

x = len(list)

for i in range(x):

    ltr1[i + 1] = list[i]


查看完整回答
反对 回复 2022-07-05
?
潇湘沐

TA贡献1816条经验 获得超6个赞

您已经可以使用 list[index] 访问数据,为什么要将其存储在新变量中。即使您愿意,也应该将其复制到其他列表中。

您可以使用 if else 条件

if x == 5:
     ltr1 = list[0] 
     ltr2 = list[1]  
     ltr3 = list[2] 
     ltr4 = list[3] 
     ltr5 = list[4]

https://www.w3schools.com/python/python_conditions.asp


查看完整回答
反对 回复 2022-07-05
?
慕娘9325324

TA贡献1783条经验 获得超5个赞

查看argparse库 [ https://docs.python.org/3/library/argparse.html]


那么你可以使用很多 if 语句来执行特定的行


import argparse

parser = argparse.ArgumentParser(description='Process some integers.')


# parse line number from terminal as arguments

parser.add_argument('i', type=int)

args = parser.parse_args()


# execute line number conditionally

if args.i == 0:

    print("first")

if args.i == 1:

    print("two")

#


python3 <filename.py> 0

这将打印first


查看完整回答
反对 回复 2022-07-05
  • 3 回答
  • 0 关注
  • 245 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号