У меня есть программа, которая
Я написал это, хотя хочу, чтобы программа перебирала список, если значение типа int
-append и когда следующее значение строки типа отображает исходный список и конечный цикл
Я думаю, что мой код мой код не делает это хорошо:
def is_int(val):
if type(val) == int:
return True
else:
return False
def is_string(val):
if type(val) == str:
return True
else:
return False
def is_float(val):
if type(val) == float:
return True
else:
return False
def invert(val):
k = len(val)
for i in range(k//2):
a = val[i]
val[i] = val[k-1]
val[k-1] = a
print(val)
lis = ["a","c",2,7]
lim = []
tart = 1
for x in lis:
if is_int(x) == True and is_int(lis[tart:]) == True:
lim.append(x)
tart += 1
elif is_string(x) == True and is_string(lis[tart:]) == True :
x = x.upper()
lim.append(x)
tart += 1
else:
print(lis)
break
invert(lim)
Вы можете использовать это -
all(isinstance(i, int) for i in lis)
Это даст вам значение True
если все элементы списка являются целыми, тогда вы можете изменить свой код, чтобы протестировать строки и целые числа
if all(isinstance(i, int) for i in lis):
return list(reversed(lis)) # return reversed list
elif all(isinstance(i, str) for i in lis):
return [i.upper() for i in lis] # change to uppercase and return the list
return lis # return list as is
Вместо этого вы можете сделать следующее:
if all(isinstance(i, int) for i in lis):
lim = lis[::-1]
elif all(isinstance(i, str) for i in lis):
lim = [i.upper() for i in lis]