Я создаю список, в котором я принимаю значения и преобразую их в float. Однако, если пользователь вводит символ A-Z/a-z, я должен изменить это значение на 0.0 и указать место, где значение было изменено. Здесь у меня проблемы. Я не совсем уверен, как найти значения и изменить их на 0.0, если они не являются числовыми. Вот мой код до сих пор:PYTHON: Изменение элемента списка из строки в float
def main():
# Creating the list
num_list = []
val = input("Enter a number or 0 to stop: ")
while val != '0':
num_list += [val]
val = input("Enter a number or 0 to stop: ")
#The list before values are changed to floats
print("Before: ", num_list)
try:
if val.isdigit():
newnumlist = []
for val in list:
newnumlist.append(float(val))
print(newnumlist)
except ValueError:
main()
После моего утверждения try я продолжаю получать TypeError. Нужно ли использовать переменную, такую как i, чтобы изменить значения для float? И в моем, кроме тела, нужна ли мне переменная? Как мне найти алфавитные символы в моем списке, чтобы их изменить?
Заранее спасибо.
Где бы вы хотели хранить информацию о местоположении? вы бы делали элемент чем-то вроде '(0.0, index)', если 'val' не является числом? –