Ask user to input objects of function after function ran

Question:

i have this code:

import xlrd
c = str(input('wordn'))
d= int(input('columnn'))-1
esme_file = 'D:pythonproject1data1.xlsx'
wb = xlrd.open_workbook(esme_file)
sh = wb.sheet_by_index(0)


def search(a: str = c ,b : int = d):
    ourlist = []
    
    for i in range(sh.nrows):
        ourlist.append(sh.cell_value(i,b))
    print(ourlist.count(a))

as you can see my input objects are out of the function but how can change this to have this function:

if user give us 1 in an input object : start search() then ask for input ‘c’ and ‘d’

then run the function for user

else print("please type 1")

i mean i want somthing like this:

    import xlrd

esme_file = 'D:pythonproject1data1.xlsx'
wb = xlrd.open_workbook(esme_file)
sh = wb.sheet_by_index(0)
    
user_input= ("if you want to search type 1 ")    
def start(g = user_input):
    if g == 1:
        return search()
    else:
        print("please type 1")
        
def search(a: str = c ,b : int = d):
    ourlist = []
    c = str(input('wordn'))
    d = int(input('columnn'))-1
    for i in range(sh.nrows):
        ourlist.append(sh.cell_value(i,b))
        print(ourlist.count(a))

but in this code we have undefined name c and d, how can i solve this?
best regards

Asked By: Farhan

||

Answers:

I’m unsure about what your search function is suppose to do but here is how I would go about it :

If it doesn’t answer fully : Give me more details on what the search function is suppose to do and I’ll edit my answer.

import xlrd

def search(word , col, filename):
    ourlist = []
    wb = xlrd.open_workbook(filename)
    sh = wb.sheet_by_index(0)
    for i in range(sh.nrows):
        ourlist.append(sh.cell_value(i, col))
        print(ourlist.count(word))

def start():
    choice = input("Type '1' to start a search: ")
    if choice != 1: return None

    word = str(input('Word: '))
    col = int(input('Column: '))-1
    search(word, col, 'D:pythonproject1data1.xlsx')

start()
Answered By: Anto
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.