[英]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.