好的,所以使用这段代码我运行了一些测试,看看主要问题是什么。我发现电话号码输入验证有问题,所以我对它进行了调整,因此它处于非活动状态。(如果你能够解决这个问题,那么就会给你一个贴纸。 无论如何:
def main():
name = []
phone = []
groupno = []
score = []
review = []
q = input('Do you wish to Continue Y/N')
while q != "Y":
def data(name, phone, groupno, score, namelist, groupsizes,phonumber, mealscore):
name = input("Please enter the customer's name.")
namelist.append(name)
#phone = int(input("Please enter the customer's Phone Number."))
#if len.str(phone) == 11:
# else: phone = int(input("Please enter the customer's Phone Number."))
#phonumber.append(phone)
sizeofgroup = int(input('Please enter the size of group: '))
while sizeofgroup < 1 or sizeofgroup > 20:
sizeofgroup = int(input('Please enter a valid group size: '))
groupsizes.append(sizeofgroup)
score = int(input('Please enter the rating of the meal: '))
while score <= 1 or score >= 10:
score = int(input('Please enter the rating of the meal- between 1 and 10: '))
mealscore.append(score)
main()
我得到了这个错误:
你想继续Y / N吗?:y追溯(最近的呼叫最后一次): 文件“\ QRSTORAGE \ SMCPupilData $ \ stirlim \ Work \ S5 \ Computing \ Coursework
在main()文件中的Task \ Program \ code2.py“,第35行 “\ QRSTORAGE \ SMCPupilData $ \ stirlim \工作\ S5 \计算\习作
主\ namelist.append(name)中的Task \ Program \ code2.py“,第16行 NameError:未定义全局名称'namelist'
不确定错误意味着什么,但它与变量声明有关
答案 0 :(得分:2)
由于Python使用缩进进行作用域,因此必须缩进作业namelist
以与name
的赋值对齐。否则它位于函数外部的范围内,并且没有名为namelist
的变量。一个更有用的错误消息是“行需要缩进”,但Python无法猜测。
此外,len.str(phone)
失败,因为它试图获取str
的{{1}}属性,但它没有。{1}}。你的意思是len
。