【发布时间】:2021-10-09 12:09:47
【问题描述】:
我定义了一个 ask_phone_number() 函数,并在该函数内定义了一个 for 循环。我希望 for 循环遍历列表 (列表包含 1 字符串)。我在 for 循环中有一个 elif 语句,用于计算 phone_number 中字符串的字符数, 但它返回 1 作为计数。我猜这是因为 python 解释器将字符串本身视为我列表中的唯一项目。我的问题是如何告诉 python 计算 phone_number 列表中字符串的字符,而不仅仅是 phone_number 中的项目" 请查看下面的代码:
def ask_phone_number(correct, phone_number):
while correct == False:
phone_number = [input("Enter your phone number >>> ")]
for ch in phone_number:
if ("+1" not in ch):
print("Make sure to enter '+1' and your 10 digit US or Canada phone number")
elif (phone_number.count(ch) < 12):
print("Your phone number is incomplete")
else:
correct = True
else:
return phone_number
if __name__ == "__main__"
ask_phone_number(False, "")
【问题讨论】:
-
为了测试和调试,请对“输入”进行硬编码。或者请edit您的问题向我们展示实际输入。
-
请提供minimal reproducible example。您的函数有两个参数,但您在没有任何参数的情况下调用它,因此这不可能代表您遇到问题的代码。
-
即使在您编辑之后,代码也无法运行。你真的试过了吗?
-
@Ulrich 我已经修复了函数调用中的参数......只是一个愚蠢的错误
-
在任何情况下您会向该函数传递不同的值吗?喜欢
ask_phone_number(True, "+143765876912")?试图理解为什么你有这些参数......