Python 3序列:字符串和列表

时间:2018-02-03 21:03:03

标签: string python-3.x list

我正在研究John Zelle的书“Python编程:计算机科学概论”。我现在正在完成第5章末的编程练习;其中包含序列:字符串,列表和文件。

我能够为问题#1和#2创建程序,但是我一直在寻找问题#3(下面)的解决方案,所以我使用解决方案指南来获得答案。问题是我不明白解决方案是如何工作的!

例如,这个等式如何工作? grades = 60 * "F" + 10 * "D" + 10 * "C" + 10 * "B" + 11 * "A"

我相信一旦我对方程如何运作有了更好的理解,我就能弄清楚程序如何找到相应的打印等级。 print("The grade is", grades[score])

我已经追溯到第5章,看看是否有任何我错过的内容,但我没有看到任何与此问题的解决方案相关的示例。

  
      
  1. 某位CS教授给出100分的考试,分数为90-100:A,80-89:B,70-79:C,60-69:D,<60:F。写一个程序   接受考试分数作为输入并打印出相应的分数   级。
  2.   

溶液:

def main():

    score = int(input("Enter grade number: "))
    grades = 60 * "F" + 10 * "D" + 10 * "C" + 10 * "B" + 11 * "A"
    print("The grade is", grades[score])

main()

2 个答案:

答案 0 :(得分:2)

等式创建一个字符串。 60 F然后10 D.像FFF ...... DDD ...... AAA 它的得分在0到59之间,然后成绩[得分]将返回该字符串的相应索引的值(在这种情况下为F)。

https://tio.run/##K6gsycjPM/7/P70oMSW1WMFWwcxAQUtByU1JQVvBEMx0QTCdEUwnMNMQxHRU4iooyswr0YCYoamAwo02tYxVQBczMwCJ/f8PAA

答案 1 :(得分:0)

他的解决方案创建了一个字符串,其中包含0到100之间每个数字的字母。

变量grades的计算结果为

FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDDDDDCCCCCCCCCCBBBBBBBBBBAAAAAAAAAAA

由此,成绩只是与得分对应的字母。