웹 응용 프로그램을 만들려고하는데 그 중 하나는 공백으로 구분 된 목록으로 구현 된 숫자를 더하거나 빼거나 곱하는 것입니다. 모두 작동하지만 빼기 나를 괴괴 망측 한 결과를주고있다. 예를 들어, 6 2로 타이핑하려고하면 예상 결과는 4가 될 수 있지만 대신 -2가된다. 인덱스 0에서 빼기 때문에 -2라고 생각한다. 두 번째 숫자를 주면 int (form_text [0])로 바뀌지 만 이제는 IndexError : string 인덱스가 범위를 벗어나 두 개의 숫자를 입력했음을 알 수 있습니다. 0.이다 resta_total에서웹 응용 프로그램에서 빼기 연산을 수행하지 않습니다. - Python
@app.route('/add_numbers', methods=['GET', 'POST'])
def add_numbers_post():
# --> ['5', '6', '8']
# print(type(request.form['text']))
if request.method == 'GET':
return render_template('add_numbers.html')
elif request.method == 'POST':
form_text = request.form['text'].split()
print(request.form['text'].split())
suma_total = 0
resta_total = int(form_text[0])
multiplicacion_total = 1
try:
for str_num in form_text:
suma_total += int(str_num)
resta_total -= int(str_num[1])
multiplicacion_total *= int(str_num)
return render_template('add_numbers.html', result_suma=str(suma_total), result_multiplicacion=str(multiplicacion_total), result_resta=str(resta_total))
except ValueError:
return "Easy now! Let's keep it simple! 2 numbers with a space between them please"
... 두 개 이상의 정수의 뺄셈을 처리하기 위해 항상 음의 값이됩니다. 예 : (init) -> resta_total == 0, resta_total - = 6 -> resta_total == 6, resta_total - = 2 -> resta_total == 8 – Efren