Discuss / Python / 这样的结果……

这样的结果……

Topic source

哎呀博雅

#1 Created at ... [Delete] [Delete and Lock User]

name = '小明'

s1 = 72

s2 = 85

#去年成绩72,今年85 ,算进步多少公式是,(去年成绩-今年成绩)/今年的成绩*100

r = (s2-s1)/s1*100

#要求留下百分比小数点后一位,用%.1f%%,同理如果小数点后两位%.2f%%……

print('%s的成绩相比去年提升了%.1f%%'%(name , r))

执行结果为

小明的成绩相比去年提升了18.1%

思考:用户自己输入名字,去年分数,今年分数,判断去年比今年的分数高还是低,高则自动输入“提升”反之“下滑”,记算成绩百分比,进行打印如何操作

现在卡再用户输入name = input('请输入姓名')是str

                              s1 = input('去年成绩')也是str  造成无法记算……还需要学习

哎呀博雅

#2 Created at ... [Delete] [Delete and Lock User]
name = "千寻"

print ('''我愿意留在汤婆婆的澡堂里工作两年,
第一年在锅炉房和锅炉爷爷一起烧锅炉水,
第二年在澡堂给客人搓背,
如果我违背工作内容的话,
将在这个世界变成一头猪。''')
qianming = input ('签名:')


if qianming == name :
    print ("你已经签订了契约小朋友,你今后就叫小千了")
else:
    print('你是想立刻变成猪吗!!!')

代码搞定

哎呀博雅

#3 Created at ... [Delete] [Delete and Lock User]

前面回复错了

name = '小明'
s1 = 72
s2 = 85
r = (s2 - s1)/s2*100
print('学生%s \n去年成绩:%d\n今年成绩:%d\n%s成绩提升:%.3f%%'%(name,s1,s2,name,r))

>>>

学生小明 

去年成绩:72

今年成绩:85

小明成绩提升:15.3%

哎呀博雅

#4 Created at ... [Delete] [Delete and Lock User]

前面犯二,复制错了

name = input('请输入姓名:')
s1 = float(input('请输入去年成绩:'))
s2 = float(input('请输入今年成绩:'))
r = (s2-s1)/s2*100
if s2 >= s1:
    print('学生%s \n去年成绩:%d\n今年成绩:%d\n%s成绩提升:%.1f%%'%(name,s1,s2,name,r))
else:
    print('学生%s \n去年成绩:%d\n今年成绩:%d\n%s成绩下滑:%.1f%%'%(name,s1,s2,name,r))


请教大神有没有更

JoanRoot-01

#5 Created at ... [Delete] [Delete and Lock User]

去年成绩和今年成绩需要转换下

通过int 转换输入成为数字型 

去年成绩=int(input("请输入去年成绩"))

今年年成绩=int(input("请输入今年年成绩"))

Smallkiller3

#6 Created at ... [Delete] [Delete and Lock User]

print那里去掉%s

哎呀博雅

#7 Created at ... [Delete] [Delete and Lock User]

JoanRoot-01

#5 Created at 2020/2/25 21:55

去年成绩和今年成绩需要转换下

通过int 转换输入成为数字型 

去年成绩=int(input("请输入去年成绩"))

今年年成绩=int(input("请输入今年年成绩"))

我可能想的有点多,成绩哪里,因为有些成绩会有小数所以用转换成float了~

Smallkiller3

#6 Created at 2020/3/1 15:16

print那里去掉%s

去掉%s 用户的名字带不进来呀~

考虑的还不够全面

最终展示给用户的数据应有以下部分

用户id + 成绩对比 + 总结

总结有三种情况   大部分人只考虑了两种   1上升2下降              应该存在第三种    无变动

1和2 两种情况描述相似    而3不一样  不需要计算变化  优化减少了一个步骤

name = input('学生姓名:')

Ascore = int(input('请输入%s去年的分数:' % name))

Bscore = int(input('请输入%s今年的分数:' % name))

if Ascore == Bscore:

    result = '没有变动'

else:

    rate = abs((Bscore - Ascore) / Ascore * 100)

    if Ascore > Bscore:

        criticalPoint = '下降了'

    else:

        criticalPoint = '上升了'

    result = criticalPoint+'%.1f' % rate+'%'

print('相较于去年的分数%d和今年的分数%d,%s的成绩' % (Ascore, Bscore, name)+result)

哎呀博雅

#9 Created at ... [Delete] [Delete and Lock User]

用户3583818067

#8 Created at 2020/3/7 20:39

考虑的还不够全面

最终展示给用户的数据应有以下部分

用户id + 成绩对比 + 总结

总结有三种情况   大部分人只考虑了两种   1上升2下降              应该存在第三种    无变动

1和2 两种情况描述相似    而3不一样  不需要计算变化  优化减少了一个步骤

name = input('学生姓名:')

Ascore = int(input('请输入%s去年的分数:' % name))

Bscore = int(input('请输入%s今年的分数:' % name))

if Ascore == Bscore:

    result = '没有变动'

else:

    rate = abs((Bscore - Ascore) / Ascore * 100)

    if Ascore > Bscore:

        criticalPoint = '下降了'

    else:

        criticalPoint = '上升了'

    result = criticalPoint+'%.1f' % rate+'%'

print('相较于去年的分数%d和今年的分数%d,%s的成绩' % (Ascore, Bscore, name)+result)

确实是,没注意到这个成绩相同的问题,因为学这个的时候还没学到判断呢,自己延伸的思考问题,学到判断的时候就回来补充下,就有了这个情况,哈哈 感谢


  • 1

Reply