简体   繁体   English

如何使用 Python 从列表中打印项目?

[英]How to print an item from the list using Python?

can someone tell me what is wrong with my code?!!有人可以告诉我我的代码有什么问题吗?!


def make_list(number):
      names =[]
      for item in range(0,number):
          names.append(input("Enter your name"))
      print(names)
       
number = int(input("How many names need to be entered?"))
names = make_list(number)
for name in names:
    if name[0] == "A":
        print("Name", name)

In make_list , you're printing names , then implicitly returning None .make_list ,您正在打印names ,然后隐式返回None Change the print to a return :print更改为return

def make_list(number):
    names =[]
    for item in range(0,number):
        names.append(input("Enter your name with a capital letter."))
    return names

This way the caller will assign the list to names rather than None .这样,调用者会将列表分配给names而不是None

Rather than printing the name in the function, the fix is to return the names array.解决方法不是在函数中打印名称,而是返回名称数组。

def make_list(number):
      names =[]
      for item in range(0,number):
          names.append(input("Enter your name with a capital letter. "))
      return (names)
       
number = int(input("How many names need to be entered? "))
names = make_list(number)
for name in names:
    if name[0] == "A":
        print("Name", name, "starts with A")

Sample Output:示例输出:

How many names need to be entered? 2
Enter your name with a capital letter. Andrew
Enter your name with a capital letter. Abby
Name Andrew starts with A
Name Abby starts with A

you need to return the value from the function make_list to names in the main code您需要将函数 make_list 的值返回到主代码中的名称

def make_list(number):
  names =[]
  for item in range(0,number):
      names.append(input("Enter your name with a capital letter."))
  print(names)
  return names
   
number = int(input("How many names need to be entered?"))
names = make_list(number)
for name in names:
    if name[0] == "A":
       print("Name", name, "starts with A")
def make_list(number):
    names =[]
    for item in range(0,number):
        names.append(input("Enter your name with a capital letter. "))
    return (names)
   
number = int(input("How many names need to be entered? "))
names = make_list(number)
for name in names:
    print(f"Name {name} starts with {name[0]}")

In your original code, number=int(input("blah")) ... was inside the function make_list() so make_list() never got called.在您的原始代码中, number=int(input("blah")) ...在函数make_list()因此从未调用过make_list() Additionally, you need to return names at the end of make_list() , otherwise it implicitly returns None , the return value of print() .此外,您需要在make_list()的末尾return names ,否则它会隐式返回None ,即print()的返回值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM