You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python函数返回多值打印时如何去除括号、单引号等多余符号

问题原因

  1. 你的函数返回值类型不统一:当平均分≥90时,你返回的是由数值和字符串组成的元组,其他分数段返回的是单独的字符串,这就导致后续打印的时候,90分以上的场景拿到的是元组结构,直接打印就会自带括号、单引号这些结构标识。
  2. 打印的时候没有对返回的多值做拆分处理,直接把整个元组作为变量输出了。

可行修改方案

方案1:统一函数返回格式,始终返回「平均分+对应等级字符串」两个值

这是最稳妥的方案,修改后的代码如下:

def lab_odev_arasinav_final(l, o, ara, f):   
    agirlikli_ortalama = (l * (20/100)) + (o * (15/100)) + (ara * (25/100)) + (f * (40/100)) 
    # 先计算对应字母等级,所有分支统一输出逻辑
    if agirlikli_ortalama >=90 :
        harf_notu = "A"
    elif agirlikli_ortalama >=75 :
        harf_notu = "B"
    elif agirlikli_ortalama >=60 : 
        harf_notu = "C"
    elif agirlikli_ortalama >=45 : 
        harf_notu = "D"
    else :
        harf_notu = "F"
    # 所有场景统一返回两个值
    return agirlikli_ortalama, harf_notu

# 调用函数时直接拆分两个返回值
ortalama, harf_notu = lab_odev_arasinav_final(95 , 95 , 80, 95)      
# 按照要求格式打印,自动处理整数/小数显示
print(f"Programlama Temelleri I Dersi Ogrenci No: 210911018 Ağırlıklı Ortalama: {int(ortalama) if ortalama.is_integer() else ortalama} Harf Notu: {harf_notu}")

方案2:不修改原有函数逻辑,打印时做类型判断适配

如果你要保留原有函数的返回逻辑,可以在打印环节加兼容处理:

ortalama = lab_odev_arasinav_final(95 , 95 , 80, 95)
if isinstance(ortalama, tuple):
    # 适配90分以上的元组返回场景
    ortalama_degeri, harf_str = ortalama
    print(f"Programlama Temelleri I Dersi Ogrenci No: 210911018 Ağırlıklı Ortalama: {int(ortalama_degeri) if ortalama_degeri.is_integer() else ortalama_degeri} {harf_str}")
else:
    # 适配其他分数段的字符串返回场景
    print(f"Programlama Temelleri I Dersi Ogrenci No: 210911018 Ağırlıklı Ortalama: {ortalama}")

效果说明

修改后运行输出就是你要求的标准格式:Programlama Temelleri I Dersi Ogrenci No: 210911018 Ağırlıklı Ortalama: 95 Harf Notu: A,不会再出现多余的括号和单引号。

内容的提问来源于stack exchange,提问作者Bünyamin Mete

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:45:07