在Python中将列表传递给函数并打印它
我试图打印与用户输入的数字相对应的星期,例如,如果用户输入2,则返回时间应为星期二等。但当我运行程序时,它不会要求用户输入。请告诉我我在哪里出错在Python中将列表传递给函数并打印它,python,python-3.x,Python,Python 3.x,我试图打印与用户输入的数字相对应的星期,例如,如果用户输入2,则返回时间应为星期二等。但当我运行程序时,它不会要求用户输入。请告诉我我在哪里出错 def return_day(num): days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"] num = input ("Please enter the number: ") if int(num) <= 7:
def return_day(num):
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
num = input ("Please enter the number: ")
if int(num) <= 7:
print(return_day( days[num - 1]))
else:
print("None")
def返回日(num):
天数=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]
num=输入(“请输入数字:”)
如果首先使用int(num),则此处不需要递归。第二,如果从input()函数获得num变量,则不需要将其作为函数参数
def return_day():
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
num = input("Please enter the number: ")
if int(num) <= 7:
print(days[num - 1])
else:
print("None")
然后会要求您首先输入,这里不需要递归。第二,如果从input()函数获得num变量,则不需要将其作为函数参数
def return_day():
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
num = input("Please enter the number: ")
if int(num) <= 7:
print(days[num - 1])
else:
print("None")
def return_day():
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
num = input("Please enter the number: ")
if int(num) <= 7:
print(days[int(num) - 1])
else:
print("None")
if __name__ == "__main__":
return_day()
然后将要求您输入def return\u day()
def return_day():
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
num = input("Please enter the number: ")
if int(num) <= 7:
print(days[int(num) - 1])
else:
print("None")
if __name__ == "__main__":
return_day()
天数=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]
num=输入(“请输入数字:”)
如果int(num)def return_day():
天数=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]
num=输入(“请输入数字:”)
如果int(num)
那条线是你的问题。您的函数一次做的事情太多,请将输入与函数定义分开,如下所示:
def return_day(num):
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
print(days[num])
num = input ("Please enter the number: ")
if int(num) <= 7:
return_day(int(num)-1)
else:
print("None")
def返回日(num):
天数=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]
打印(天数[num])
num=输入(“请输入数字:”)
如果int(num)
那条线是你的问题。您的函数一次做的事情太多,请将输入与函数定义分开,如下所示:
def return_day(num):
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
print(days[num])
num = input ("Please enter the number: ")
if int(num) <= 7:
return_day(int(num)-1)
else:
print("None")
def返回日(num):
天数=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]
打印(天数[num])
num=输入(“请输入数字:”)
如果int(num)我不确定为什么您甚至需要通过input()
进行用户输入,因为在您的示例中,用户的选择已经作为参数直接传递给函数
def return_day(num):
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
try:
if int(num) < 8:
print(days[num-1])
else:
print("None")
except Exception as error:
print('Caught this error: ' + repr(error))
另外,值得一提的是,None(不带引号)在python中是一个保留字,因此最好避免使用它,原因有很多,其中之一是它可能会在调试应用程序时导致将来的混乱。考虑到在您的示例中,用户的选择将作为参数直接传递给函数
def return_day(num):
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
try:
if int(num) < 8:
print(days[num-1])
else:
print("None")
except Exception as error:
print('Caught this error: ' + repr(error))
另外,值得一提的是,None(不带引号)在python中是一个保留字,因此最好避免使用它,原因有很多,其中之一是它可能会在调试应用程序时导致将来的混淆。请尝试以下代码:
def return_day():
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
num = int(input ("Please enter the number: ")) #changes here
if(num <= 7): #changes here
print(days[num - 1]) #changes here
else:
print("None")
return_day()
def return_day():
天数=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]
num=int(输入(“请输入数字”)#在此处更改
如果(num尝试以下代码:
def return_day():
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
num = int(input ("Please enter the number: ")) #changes here
if(num <= 7): #changes here
print(days[num - 1]) #changes here
else:
print("None")
return_day()
def return_day():
天数=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]
num=int(输入(“请输入数字”)#在此处更改
如果(num只需取出方法外的获取输入,并在每次进行转换:
def return_day(num):
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
if num <= 7 :
return (days[num - 1])
else:
return "None"
def main():
num = int(input ("Please enter the number: "))
print(return_day(num))
if __name__ == "__main__":
main()
只需在方法外取出取材输入,每次取而代之的是在时间上进行铸造:
def return_day(num):
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
if num <= 7 :
return (days[num - 1])
else:
return "None"
def main():
num = int(input ("Please enter the number: "))
print(return_day(num))
if __name__ == "__main__":
main()
def返回日(num):
天数=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]
打印(天数[num])
num=输入(“请输入数字:”)
如果int(num)def return\u day(num):
天数=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]
打印(天数[num])
num=输入(“请输入数字:”)
如果int(num)Bro我已经这样做了,错误tsat将出现“应声明的天数”。我应该在哪里声明天数列表,因为它超出了函数的范围。因为您在函数中列出了天数。如果执行上述代码,您将得到控制台输出为“请输入数字:5星期五”兄弟,我已经这样做了,错误tsat即将出现“天应该被声明”。我应该在哪里声明天列表,因为它超出了函数的范围。因为你在函数中列出了天。如果执行上述代码,你将得到控制台输出为“请输入数字:5星期五”。是的,我搞错了,谢谢。是的,我搞错了,谢谢。