列表的输入与元素的读取

img

不好意思,最近有点忙,代码如下:

scores = list(map(int, input().split()))
max_score = max(scores)
for score in scores:
    if score >= max_score - 10:
        print('A')
    elif score >= max_score - 20:
        print('B')
    elif score >= max_score - 30:
        print('C')
    elif score >= max_score - 40:
        print('D')
    else:
        print('F')

你好!
首先,Python输入为input(),返回值为字符串,这个应该都知道。
其次,Python中字符串类型有个专有函数,叫split(),用于分割字符串,有两个参数:

  1. 参数一:以什么作为分割的边界,默认为空格,就比如"a b c d e".split()结果就为["a", "b", "c", "d", "e"]
  2. 参数二:分割次数,默认是全部分割,还是拿"a b c d e"来说,"a b c d e".split(" ", 2)就表示以空格分割两次,结果为["a", "b", "c d e"],以此类推。注意:如果分割次数大于字符串中参数一字符串出现的次数,可能会报错!
    于是,输入一行数字表示为:
    list(map(int, input().split()))
    

其中,map(type, list)表示将list中所有元素转换为type类型,返回是一个迭代器,所以要用list将其转换为列表。
再用max(list)找出list中的最大数,一个一个判断即可。