languages = ["Regional Assembly Language","Autocode","FORTRAN","IPL (LISP的先驱)","FLOW-MATIC (COBOL的先驱)","COMTRAN (COBOL的先驱)","LISP","ALGOL 58","FACT (COBOL的先驱)","COBOL","APL","Simula","SNOBOL","CPL (C的先驱)","BASIC","PL/I","BCPL (C的先驱)","Logo","Pascal","Forth","C语言","Smalltalk","Prolog","ML","Scheme","SQL","Ada","C++","Common Lisp","MATLAB","Eiffel","Objective-C","Erlang","Perl","Tcl","FL (Backus)","Haskell","Python","Visual Basic","HTML","Ruby","Lua","CLOS (part of ANSI Common Lisp)","Java","Delphi (Object Pascal)","JavaScript","PHP","REBOL","D","C#","Visual Basic .NET","F#","Scala","Factor","Windows PowerShell","Rust","Clojure","Go"]
下面的 Python 数组包含了这些编程对应的创建时间。
years = [1951, 1952, 1954, 1954, 1955, 1957, 1958, 1958, 1959, 1959, 1962, 1962, 1962, 1963, 1964, 1964, 1967 ,1968 ,1970 ,1970 ,1972 ,1972 ,1972 ,1973 ,1975 ,1978 ,1980 ,1983 ,1984 ,1984 ,1985 ,1986 ,1986 ,1987 ,1988 ,1989 ,1990 ,1991 ,1991 ,1991 ,1993 ,1993 ,1994 ,1995 ,1995 ,1995 ,1995 ,1997 ,1999 ,2001 ,2001 ,2002 ,2003 ,2003 ,2006 ,2006 ,2007 ,2009]
编写一个 Python 程序,每行打印每个编程语言的名字和对应的创建时间,例如:
Regional Assembly Language : 1951
Autocode : 1952
FORTRAN : 1954
...
请找出以下代码中错误的选项。
A.if __name__ == '__main__':
languages = ...
years = ...
for i in range(0, len(languages)):
language = languages[i]
year = years[i]
print(language, ':', year)
B.if __name__ == '__main__':
languages = ...
years = ...
for language in languages:
for year in years:
print(language, ':', year)
C.if __name__ == '__main__':
languages = ...
years = ...
i = 0
while i < len(years):
language = languages[i]
year = years[i]
print(language, ':', year)
i += 1
D.if __name__ == '__main__':
languages = ...
years = ...
[print(languages[i], ':', years[i]) for i in range(0, len(languages))]
这道题的考点就是,选项中的这几种循环的方法你们是否都掌握了,那么可以很容易的看出。其中一个选项中的循环。做了嵌套,那么它这里打印出来的就跟题目描述不符。
嵌套完成这样了,买个语言后面都打印出所有时间。
Regional Assembly Language : 1951 1952 1954 。。。
Autocode : 1951 1952 1954 。。。
FORTRAN : 1951 1952 1954 。。。
所以答案选B
跟我一起学习交流扫描二维码关注公众号 破晨谈python