Python 初学者问题:如何合并';功能';和';对于短语';

Python 初学者问题:如何合并';功能';和';对于短语';,python,Python,对不起。我刚启动python(大概已经两天了) 当我运行这个。 出局是[数学B数学A数学A] 我只想要[英语B,科学A,数学A] 我错过了什么?请回答我第一个问题是您正在分配result2=subject,但未定义“subject” 其次,第二个for循环为每个主题运行3次,这不是您想要的 一种简单的方法是使用while并设置计数器,然后打印输出 i=0 while i< len(subject_ls): subject= subject_ls[i] result=grade(sc

对不起。我刚启动python(大概已经两天了)

当我运行这个。 出局是[数学B数学A数学A] 我只想要[英语B,科学A,数学A]
我错过了什么?请回答我第一个问题是您正在分配result2=subject,但未定义“subject”

其次,第二个for循环为每个主题运行3次,这不是您想要的

一种简单的方法是使用while并设置计数器,然后打印输出

i=0
while i< len(subject_ls):
  subject= subject_ls[i]
  result=grade(score_ls[i])
  print("{} {}".format(subject,result),end="\t") 
  i+=1

i=0
而我(受试者):
主题=主题[i]
结果=等级(分数[i])
打印(“{}{}”。格式(主题、结果),end=“\t”)
i+=1

下面是一些较短的方法,但是由于您是python新手,您可能会更好地理解这一点

第一个问题是您正在分配result2=subject,但未定义“subject”

其次,第二个for循环为每个主题运行3次,这不是您想要的

一种简单的方法是使用while并设置计数器,然后打印输出

i=0
while i< len(subject_ls):
  subject= subject_ls[i]
  result=grade(score_ls[i])
  print("{} {}".format(subject,result),end="\t") 
  i+=1

i=0
而我(受试者):
主题=主题[i]
结果=等级(分数[i])
打印(“{}{}”。格式(主题、结果),end=“\t”)
i+=1

下面是一些较短的方法,但是由于您是python新手,您可能会更好地理解这一点

为此,您可以简化代码并使用zip:

for (subject,score) in zip(subject_ls,score_ls):
    print("{} {}".format(subject,grade(score)),end="\t") 

OUT: English B       Science A       math A

为此,您可以简化代码并使用zip:

for (subject,score) in zip(subject_ls,score_ls):
    print("{} {}".format(subject,grade(score)),end="\t") 

OUT: English B       Science A       math A

它不需要为循环嵌套
,并且您的代码中没有定义
主题

def grade(point):
    result = ""
    if point >= 90:
        result = "A"
    elif point >= 80:
        result = "B"
    else:
        result = "C"
    return result
subject_ls = ["English", "Science", "math"]
score_ls = [80, 90, 100]

for i,subject in enumerate(subject_ls):
    print("{} {}".format(subject, score_ls[i]))

它不需要为
循环嵌套
,并且您的代码中没有定义
主题

def grade(point):
    result = ""
    if point >= 90:
        result = "A"
    elif point >= 80:
        result = "B"
    else:
        result = "C"
    return result
subject_ls = ["English", "Science", "math"]
score_ls = [80, 90, 100]

for i,subject in enumerate(subject_ls):
    print("{} {}".format(subject, score_ls[i]))

请正确设置代码的格式请正确设置代码的格式如果答案能解决你的问题,如果你能投票就好了。谢谢:)如果答案解决了你的问题,如果你能投票就好了。谢谢:)