Streamlit应用实现二次函数判别式报错:TypeError: 'float' object is not callable
问题解决:Streamlit二次函数判别式代码的TypeError错误
错误根源在这行代码:
dd = db*db(-4*da*dc)
db是通过st.number_input获取的浮点数,db(-4*da*dc)相当于把浮点数当作函数调用,这就触发了TypeError: 'float' object is not callable错误。
二次函数判别式的正确公式是 b² - 4ac,你需要把代码改成以下两种写法之一:
修正后的完整代码
import streamlit as st st.title("PERSAMAAN FUNGSI KUADRAT") st.header("DISKRIMINAN (b² -4 a c)") db = st.number_input("Masukan Nilai b") da = st.number_input("Masukan Nilai a") dc = st.number_input("Masukan Nilai c") # 写法1:用**表示平方 dd = db**2 - 4 * da * dc # 写法2:用乘法表示平方(和写法1效果一致) # dd = db * db - 4 * da * dc st.subheader(f"Hasil Diskriminan: {dd}")
额外优化:用f-string把结果和说明文字结合,显示效果更直观。
内容的提问来源于stack exchange,提问作者DR4C4
相关产品推荐
相关产品推荐

