Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 1 year ago.
Improve this question
def func(*args,**kwargs):
if 'fruit' in args and 'food' in kwargs:
print('I would like to eat {} {}'.format(args['fruit'], kwargs['food']))
func(fruit='apple',fruit1='banana',food='biryani',dinner='meat')
*args is used to pass to pass a non-key worded argument list. Try this -
def func(*args,**kwargs):
if len(args)>0 and 'food' in kwargs:
print('I would like to eat {} {}'.format(args[0], kwargs['food']))
func('apple',fruit1='banana',food='biryani',dinner='meat')
check out this stackoverflow question for more details on *args and **kwargs.
Related
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 2 years ago.
Improve this question
In the following code, if I run it on IDLE, it gives me no outcome.
But with the command return True, wasn't supposed to give me True on the outcome?
Or do I have to add something like print True?
data = [2,4,5,7,8,9,12,14,17,19,22,25,27,28,33,37]
target = 28
#Linear Search
def linear_search(data, target):
for i in range(len(data)):
if data[i] == target:
return True
return False
Only defining the function is not enough you also need to call it.
In your case so add following:
print(linear_search(data,target))
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 8 years ago.
Improve this question
single_char = {}
for item in lines:
for index in range(len(item)):
if item[index - 1] in space:
if item[index + 1] in space:
if item[index] in alplist:
char = item[index]
single_char[char] = index
return single_char
else:
continue
else:
continue
else:
continue​
This is my function by for some reason Python keeps telling me that the return statement "return single_char" is outside of the function. Can somebody please explain how i can fix this problem.
There is no function. And return statement should be always inside a function.
Use def keyword to define a function in python.
Example:
def sum(a, b):
return a+b
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 8 years ago.
Improve this question
I am new to python and I get this error in my script below:
NameError: name 'csv_name_for' is not defined
def cvs_name_for(date):
return "abuse_{0}.csv".format(date)
def export_to_csv(complaints, date):
with open("{0}/{1}".format(CSV_DIR, csv_name_for(date)), "w") as csvfile:
# do stuff
What is wrong?
Your function name is cvs... and you call csv....
Fixed:
def csv_name_for(date):
return "abuse_{0}.csv".format(date)
def export_to_csv(complaints, date):
with open("{0}/{1}".format(CSV_DIR, csv_name_for(date)), "w") as csvfile:
# do stuff
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 8 years ago.
Improve this question
What is wrong with this python code? I have been trying to learn how to use _init_ but can't get it to work
class Giraffes:
def _init_(self, spots):
self.giraffe_spots = spots
ozwald = Giraffes(100)
print(ozwald.giraffe_spots)
You need to use two underscores before and after:
def __init__(self, spots):
You only used one on either side. When incorrectly spelled, it won't be called when creating a new instance.
Demo:
>>> class Giraffes:
... def __init__(self, spots):
... self.giraffe_spots = spots
...
>>> ozwald = Giraffes(100)
>>> print(ozwald.giraffe_spots)
100
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 9 years ago.
Improve this question
regardless of what the functions have to return, my code seems to not call the first function properly, as when I try to pass some doctest it raises the error:
File "preg3.py", line 27, in mesDivisions
if nombreDivisions(llista[0],m)>=nombreDivisions(llista[1],m):
NameError: global name 'nombreDivisions' is not defined
here is my code:
def nombreDivisons(n,m):
x=0
def aux(n,m):
if n<m:
return x
else:
if n%m==0:
x=x+1
return aux(n/m,m)
else:
return x
def mesDivisions(llista,m):
if len(llista)==1:
return llista[0],nombreDivisions(llista[0],m)
else:
if nombreDivisions(llista[0],m)>=nombreDivisions(llista[1],m):
del llista[1]
return mesDivisions(llista,m)
else:
del llista[0]
return mesDivisions(llista,m)
any ideas why?
Check your white space. You want at least one and according to pep8 two blank lines between functions.
You failure is a typo though. It should be nombreDivisions but you left out the i so it is nombreDivisons.