吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1360|回复: 11
收起左侧

[求助] 急求python题

[复制链接]
PandaLi 发表于 2020-5-7 14:57
求大神看看代码该怎么写 或者我写的错在了哪里?
#统计分析成绩I
n=input()
print("平均成绩:{:.2f}".format(sum(eval(n))/20))
a=0
b=0
c=0
d=0
e=0
for i in n:
    if i>90:
        a=a+1
        a1=(a/20)*100
    elif 80<=i<=89:
        b=b+1
        b1=(b/20)*100
    elif 70<=i<=79:
        c=c+1
        c1=(c/20)*100
    elif 60<=i<=69:
        d=d+1
        d1=(d/20)*100
    else:
        e=e+1
        e1=(e/20)*100
print("60分以下{}人,占总人数的{}%\n69~60分{}人,占总人数的{}%\n79~70分{}人,占总人数的{}%\n89~80分{}人,占总人数的{}%\n90分以上{}人,占总人数的{}%".format(e,e1,d,d1,c,c1,b,b1,a,a1))

题

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

corch 发表于 2020-5-7 15:16
楼主你好。你的代码第一行,n=input()得到的n是一个字符串,应该先把n转换成整数类型的list,再来求平均值、各分段占比以及排序。
可以将第一行换成n=[int(x) for x in input().split(',')],就可以把n换成int类型的list的了。
听雨在哭泣 发表于 2020-5-7 15:19
头像被屏蔽
Jgplus 发表于 2020-5-7 15:20
头像被屏蔽
Jgplus 发表于 2020-5-7 15:28
提示: 作者被禁止或删除 内容自动屏蔽
huanwuying 发表于 2020-5-7 15:34
i获取到的数据类型是字符,同数字没有办法比较大小,可以转换一下吧:n = eval(n)
zucker 发表于 2020-5-7 16:08
输入不是数字咋办?继续优化代码
头像被屏蔽
王星星 发表于 2020-5-7 16:32
提示: 作者被禁止或删除 内容自动屏蔽
随遇而安8 发表于 2020-5-7 17:35
ForXuān 发表于 2020-5-7 15:28
[mw_shl_code=python,true]n=input()
print("平均成绩:{:.2f}".format(sum(eval(n))/20))
a=b=c=d=e=0

问一下,eval函数是能把用“,”隔开的字符串转换为一个元组吗?
corch 发表于 2020-5-7 17:54
本帖最后由 corch 于 2020-5-7 21:25 编辑
随遇而安8 发表于 2020-5-7 17:35
问一下,eval函数是能把用“,”隔开的字符串转换为一个元组吗?


eval() 函数的作用是用来执行一个字符串表达式,并返回表达式的值;并且如果这个字符串中的数字以','隔开,eval()会理解为是多个表达式,然后返回多个表达式的结果的元组;如果表达式是数字,结果就是数字本身。
所以,eval('1,2,3,4,5,6,7,8,9,10')得到的结果是(1,2,3,4,5,6,7,8,9,10)
另外
m=n.split(',')这一句可以把用“,”隔开的字符串转换为列表。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-8 10:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表