首页/文章/ 详情

ANSA二次开发_Python基础-逻辑判断与循环结构

27天前浏览440

通过判断节点ID,选择是否将其添加到SET中。

    import ansafrom ansa import basefrom ansa import constantsdef main():        m = list()        for i in range(1,10):            if i % 2 == 0:                ent = base.GetEntity(constants.NASTRAN, "GRID", i)                m.append(ent)        print (m)        set = base.CreateEntity(constants.NASTRAN, "SET", {'Name': 'new set'})        base.AddToSet(set, m)main ()
    在Python中,循环结构和逻辑判断是编程的基础,它们允许你根据条件执行代码块多次或选择性地执行代码块。
    1、循环结构
    Python提供了两种主要的循环结构:for循环和while循环。
    for循环用于遍历任何序列,如列表、元组、字符串的每个元素,对每个元素执行代码块。
      # 遍历列表for item in [1, 2, 3, 4, 5]:  print(item)
        # 遍历字符串for char in "Hello":  print(char)#H#e#l#l#o
        while循环在给定的条件为真时,反复执行代码块。如果条件为假,则代码不会执行。
          # 使用while循环count = 0while count < 5:  print(count)  count += 1 
          2、逻辑判断
          逻辑判断允许你根据条件的真假执行不同的代码块。Python使用if、elif和else关键字来实现逻辑判断。
          if语句是最简单的条件语句,它在条件为真时执行代码块。
            x = 10if x > 5: print("x is greater than 5")
            elif即else if允许检查多个表达式的真假,并在其中一个为真时执行相应的代码块。
              x = 10if x > 15: print("x is greater than 15")elif x > 5: print("x is greater than 5 but not greater than 15")
              else语句在前面的if或elif表达式都不为真时执行代码块。
                x = 3if x > 5: print("x is greater than 5")else: print("x is not greater than 5")
                组合使用循环和逻辑判断
                  # 使用for循环和if语句for i in range(1, 11): # range(1, 11)生成从1到10的数字  if i % 2 == 0:    print(f"{i} is even")  else:    print(f"{i} is odd")
                  学习时记录的案例
                    # 学生分数列表scores = [76, 85, 90, 67, 59, 72, 88, 99, 55, 70]# 初始化变量total_score = 0max_score = scores[0]min_score = scores[0]grade_distribution = {"优秀": 0, "良好": 0, "及格": 0, "不及格": 0}# 使用for循环处理分数for score in scores:    # 累加总分    total_score += score        # 更新最高分和最低分    if score > max_score:        max_score = score    if score < min_score:        min_score = score        # 分类统计    if score >= 90:        grade_distribution["优秀"] += 1    elif score >= 75:        grade_distribution["良好"] += 1    elif score >= 60:        grade_distribution["及格"] += 1    else:        grade_distribution["不及格"] += 1# 计算平均分average_score = total_score / len(scores)# 打印结果print(f"平均分: {average_score}")print(f"最高分: {max_score}")print(f"最低分: {min_score}")print("成绩分布:")for grade, count in grade_distribution.items():    print(f"{grade}: {count}人")
                    来源:TodayCAEer
                    Nastran二次开发ANSApython
                    著作权归作者所有,欢迎分享,未经许可,不得转载
                    首次发布时间:2024-08-14
                    最近编辑:27天前
                    TodayCAEer
                    本科 签名征集中
                    获赞 16粉丝 8文章 163课程 0
                    点赞
                    收藏
                    作者推荐

                    ANSA二次开发_Python基础-异常处理结构

                    在Python中,try是Python中的一个关键字,用于异常处理。类似于tcl语言的catch函数。通过使用try语句块,可以捕获程序执行中可能发生的错误,并根据不同的错误类型对这些异常进行处理,而不是让程序直接崩溃,这对于提高程序的健壮性和用户体验非常重要。当然tcl语言也是同样可以实现,通过捕获catch函数输出,再配合逻辑判断,也能达到同样的效果。1、基本格式try语句块通常与except语句块一起使用,以下案例为导入第三方模块的判断。try:importxlrdsexceptModuleNotFoundError:print(str(&quot;Thecurrentenvironmentdoesnothavethexlrdmodule&quot;))else:print(str(&quot;Importsuccessfully&quot;))2、完整的异常处理结构一个完整的异常处理结构可能包括try,except,else,和finally:try:这个块中的代码是需要尝试执行的,可能会引发异常。except:如果在try块中发生异常,则执行这个块中的代码。else:如果try块中没有异常发生,则执行这个块中的代码。finally:无论是否发生异常,这个块中的代码都会被执行。3、完整演示案例try:#尝试除以零操作,这将引发一个ZeroDivisionError异常result=10/0exceptZeroDivisionError:#捕获到除以零的异常后,执行这里的代码print(&quot;Caughtanerror:Cannotdividebyzero.&quot;)else:#如果没有异常发生,执行这里的代码print(&quot;Divisionsuccessful.&quot;)finally:#无论是否发生异常,都执行这里的代码print(&quot;Thisisexecutednomatterwhat.&quot;)输出将会是:Caughtanerror:Cannotdividebyzero.Thisisexecutednomatterwhat.try语句块可以搭配多个except子句来捕获不同类型的异常,并根据异常类型执行不同的处理逻辑。您还可以使用一个except子句捕获多个异常类型,使用try和except可以帮助构建更加健壮、容错性更高的程序。这是通过try检查用户输出字符类型是否正确。def_isfloat(num):try:float(num)returnTrueexcept(ValueError,OverflowError,RuntimeError,TypeError):returnFalsedef_isint(num):try:int(num)returnTrueexcept(ValueError,OverflowError,RuntimeError,TypeError):returnFalse以判断单元类型为例,当然实际开发中我们可以通过type直接获取单元类型,这里只是举例说明,通过判断是否存在G4来判断单元类型:fromansaimportbasefromansaimportconstantselem=base.CollectEntities(constants.NASTRAN,None,&quot;__ELEMENTS__&quot;,filter_visible=True)[0]elemV=base.GetEntityCardValues(constants.NASTRAN,elem,[&#39;G4&#39;,&#39;typ&#39;])#print(elemV)try:elemV[&#39;G4&#39;]exceptKeyError:type=&quot;CTRIA3&quot;else:type=&quot;CQUAD4&quot;print(type)来源:TodayCAEer

                    未登录
                    还没有评论
                    课程
                    培训
                    服务
                    行家
                    VIP会员 学习 福利任务 兑换礼品
                    下载APP
                    联系我们
                    帮助与反馈