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 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd