m123_456_- 2023-04-20 13:20 采纳率: 53.8%
浏览 21
已结题

NameError: name 'full_name' is not defined


def say_hi_gender(full_name, gender="先生/女士"):  # name 和gender为形式参数
    """定义一个名为say_hi的有参数函数,其功能是打印一句问候语
    根据性别gender值确定称谓,男性称为“先生”,女性称为“女士”,不确定性别时称为“先生/女士”
    返回值为替换了姓名与称谓的欢迎字符串
    例如:尊敬的李白先生,欢迎来到火星!"""
    # ====================Begin===================================
    # 此处去掉注释符号“#”并补充你的代码
    full_name = input()
    gender=input()
    a = "先生"
    b = "女士"
    if gender=="男":
        print(a)
    else:
        print(b)
    say_hi_gender(full_name, gender)
    # =======================================================

if __name__ == '__main__':
    # 直接使用函数名来调用函数
    # ====================Begin===================================
    # 此处去掉注释符号“#”并补充你的代码
    print(f'尊敬的{full_name}{gender},欢迎来到火星!')
    # =======================================================

img

  • 写回答

2条回答 默认 最新

  • Dick_不周 2023-04-20 13:40
    关注

    你调用函数写在了函数里面。。
    主程序就只有直接打印尊敬的XXX。。那机器知道full_name是啥。

    def say_hi_gender(full_name, gender="先生/女士"):  # name 和gender为形式参数
        """定义一个名为say_hi的有参数函数,其功能是打印一句问候语
        根据性别gender值确定称谓,男性称为“先生”,女性称为“女士”,不确定性别时称为“先生/女士”
        返回值为替换了姓名与称谓的欢迎字符串
        例如:尊敬的李白先生,欢迎来到火星!"""
        # ====================Begin===================================
        # 此处去掉注释符号“#”并补充你的代码
        a = "先生"
        b = "女士"
        if gender == "男":
            print(f'{full_name}{a}')
            return a
        else:
            print(f'{full_name}{b}')
            return b
    
        # =======================================================
    
    
    if __name__ == '__main__':
        full_name = input('输入姓名  ')
        gender = input('输入性别  ')
        gender= say_hi_gender(full_name, gender)
        # 直接使用函数名来调用函数
        # ====================Begin===================================
        # 此处去掉注释符号“#”并补充你的代码
    
        print(f'尊敬的{full_name}{gender},欢迎来到火星!')
        # =======================================================
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 4月20日

悬赏问题

  • ¥15 程序哪有错误怎么改?
  • ¥15 交换机和交换机之间的链路带宽以及主机带宽的理解
  • ¥15 ai创想家对战模式代码
  • ¥15 集合A由3个2行4列二维数组构成,从集合A中任意取一个二维数组元素、如果该二维数组元素的对应列位置的上、下两数都是奇数,而且仅有2个列是奇数/奇数,则该数组有意义,并放入集合B中打印输出。
  • ¥15 电信IPV6 无法外网访问吗
  • ¥15 有偿求效果比较好的遥感影像匹配的c++代码
  • ¥15 博主,你好,我下载了你的智能网联汽车辅助驾驶安全信息检测系统,现在不会运行,可以教我吗,
  • ¥15 怎么在excle输入下列公式
  • ¥15 Arduino,利用modbus的RS485协议,进行对外置的温湿度传感器进行数据读取
  • ¥15 vhdl+MODELSIM