「已注销」 2022-04-13 23:28 采纳率: 79.3%
浏览 1698
已结题

python基础父母身高预测子女身高

img

img

代码:

faHeight=float(input("请输入父亲的身高(cm):"))
moHeight=float(input("请输入母亲的身高(cm):"))
sex=int(input("请输入你的性别(1:代表男,0:代表女):"))
a=int(input("是否喜爱锻炼(1:代表是,2:代表不否):"))
b=int(input("是否有卫生饮食的习惯(1:代表是,2:代表不否):"))

if(sex == 1):
# print("你是个男生!")
if(a == 1):
# print("你有体育锻炼的习惯!")
if(b == 1):
# print("你有卫生饮食的习惯!")
height=(faHeight+moHeight)0.541.02*1.015
print("你是男生,鉴于你爱好锻炼和健康饮食,你的身高为:"+str(height))
else:
height = (faHeight + moHeight) * 0.54 * 1.02
print("你是男生,鉴于你爱好锻炼,你的身高为:" + str(height))
else:
if (b == 1):
# print("你有卫生饮食的习惯!")
height = (faHeight + moHeight) * 0.54 * 1.015
print("你是男生,鉴于你健康饮食,你的身高为:" + str(height))
else:
height = (faHeight + moHeight) * 0.54
print("你是男生,鉴于你不锻炼和卫生饮食,你的身高为:" + str(height))
else:
# print("你是个女生!")
if (a == 1):
# print("你有体育锻炼的习惯!")
if (b == 1):
# print("你有卫生饮食的习惯!")
height = (faHeight *0.923 + moHeight)/2 * 1.02 * 1.015
print("你是女生,鉴于你爱好锻炼和健康饮食,你的身高为:" + str(height))
else:
height = (faHeight *0.923 + moHeight)/2 * 1.02
print("你是女生,鉴于你爱好锻炼,你的身高为:" + str(height))
else:
if (b == 1):
# print("你有卫生饮食的习惯!")
height = (faHeight *0.923 + moHeight)/2 * 1.015
print("你是女生,鉴于你健康饮食,你的身高为:" + str(height))
else:
height = (faHeight *0.923 + moHeight)/2
print("你是女生,鉴于你不锻炼和卫生饮食,你的身高为:" + str(height))

代码如下,但是我想要是一次性输入 F,175cm,175cm,Y,N(其中身高要带cm输入)
其中F是女性的意思,M为男性的意思,而Y=yes,N=no。请问按题目要求怎么修改,是要使用到input.split和str=str.substring(0,str.Length-i);吗

  • 写回答

3条回答 默认 最新

  • 关注

    改成这样即可

    sp = input().strip().split(',')
    sex = 1 if sp[0].strip() in ['M','m'] else 0
    faHeight=float(sp[1].strip().replace('cm',''))
    moHeight=float(sp[2].strip().replace('cm',''))
    a = 1 if sp[3].strip() in ['Y','y'] else 2
    b = 1 if sp[4].strip() in ['Y','y'] else 2
    
    print("sex = ",sex)
    print("faHeight = ",faHeight)
    print("moHeight = ",moHeight)
    print("a = ",a)
    print("b = ",b)
    # 之后的代码不用改
    
    if(sex == 1):
        # print("你是个男生!")
        if(a == 1):
        # print("你有体育锻炼的习惯!")
            if(b == 1):
                # print("你有卫生饮食的习惯!")
                height=(faHeight+moHeight)*0.54*1.02*1.015
                print("你是男生,鉴于你爱好锻炼和健康饮食,你的身高为:"+str(height))
            else:
                height = (faHeight + moHeight) * 0.54 * 1.02
                print("你是男生,鉴于你爱好锻炼,你的身高为:" + str(height))
        else:
            if (b == 1):
                # print("你有卫生饮食的习惯!")
                height = (faHeight + moHeight) * 0.54 * 1.015
                print("你是男生,鉴于你健康饮食,你的身高为:" + str(height))
            else:
                height = (faHeight + moHeight) * 0.54
                print("你是男生,鉴于你不锻炼和卫生饮食,你的身高为:" + str(height))
    else:
        # print("你是个女生!")
        if (a == 1):
            # print("你有体育锻炼的习惯!")
            if (b == 1):
                # print("你有卫生饮食的习惯!")
                height = (faHeight *0.923 + moHeight)/2 * 1.02 * 1.015
                print("你是女生,鉴于你爱好锻炼和健康饮食,你的身高为:" + str(height))
            else:
                height = (faHeight *0.923 + moHeight)/2 * 1.02
                print("你是女生,鉴于你爱好锻炼,你的身高为:" + str(height))
        else:
            if (b == 1):
                # print("你有卫生饮食的习惯!")
                height = (faHeight *0.923 + moHeight)/2 * 1.015
                print("你是女生,鉴于你健康饮食,你的身高为:" + str(height))
            else:
                height = (faHeight *0.923 + moHeight)/2
                print("你是女生,鉴于你不锻炼和卫生饮食,你的身高为:" + str(height))
    
    
    

    img

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月14日
  • 已采纳回答 4月14日
  • 创建了问题 4月13日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?