Your five functions only differ by the predicate used to test each character, so you could have a single one parametrized by said predicate:
def fulfill_condition(predicate, string):
for character in string:
if predicate(character):
return True
return False
if __name__ == '__main__':
s = input()
print(fulfill_condition(str.isalnum, s))
print(fulfill_condition(str.isalpha, s))
print(fulfill_condition(str.isdigit, s))
print(fulfill_condition(str.islower, s))
print(fulfill_condition(str.isupper, s))
Note that you don't need to convert the string to a list for this to work, strings are already iterables.
Now we can simplify fulfill_condition even further by analysing that it applies the predicate to each character and returns whether any one of them returnedis True. This can be written:
def fulfill_condition(predicate, string):
return any(map(predicate, string))
Lastly, if you really want to have 5 different functions, you can use functools.partialfunctools.partial:
from functools import partial
func_alnum = partial(fulfill_condition, str.isalnum)
func_isalpha = partial(fulfill_condition, str.isalpha)
func_isdigit = partial(fulfill_condition, str.isdigit)
func_islower = partial(fulfill_condition, str.islower)
func_isupper = partial(fulfill_condition, str.isupper)