繁体   English   中英

使用python打印用户输入

[英]Print user input using python

我正在尝试打印包名称的用户输入。 我有以下代码。

packageList = []
package = input("Enter name: ")
while package == '' :
    print("Package name cannot be blank")
    packagename = input("Enter name: ")
    packageList.append(packageName)

print ((packageName) + "added")

我不确定自己在做什么错。 显示错误:UnboundLocalError:分配前引用了本地变量'packageName'

您的代码给您带来了错误,因为您混淆了使用变量packagepackageName ,这似乎是您在两个地方都使用了相同的变量。 aj8uppal的答案中的代码纠正了大多数问题(通过使用packagename替换对这两个变量的大多数引用),但是他从来没有清楚地描述这是问题所在(他仍然在while条件中留下了对package引用)。

这是一些实际固定的代码:

packageList = []
package = input("Enter name: ")

while package == '' :
    print("Package name cannot be blank")
    package = input("Enter name: ")               # assign to package variable here

packageList.append(package)                       # unindent, and use package again

print ((package) + "added")                       # use package rather than packageName

您的packageList.append(packageName)不应在while循环中。 您的while循环只是确保输入不为空,因此我们不想附加它。

您正在执行的操作不会引发错误,因此packageName不存在。 因此,您正在打印一个未调用的变量。

另外,您调用package = input(...) ,但是如果发生错误,则调用packagename = input(...) 您可能想要更改它。

这是您编辑的代码:

packageList = []
packagename = input("Enter name: ")
while package name == '' :
    print("Package name cannot be blank")
    packagename = input("Enter name: ")

packageList.append(packageName)
print ((packageName) + "added")

暂无
暂无

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

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