美文网首页python热爱者Python新世界
百道Python入门级练习题(新手友好)第八回合——求二次方程

百道Python入门级练习题(新手友好)第八回合——求二次方程

作者: 轻松学Python111 | 来源:发表于2018-10-19 22:05 被阅读23次

题目描述

问题描述】

编程计算y=x2+3x-5。要求从键盘输入x的值,输出y的值。

【输入形式】

输入实数x的值

【输出形式】

输出y的值

【样例输入】

1

【样例输出】

-1

错误解法

x = input()
y = x * x + 3 * x - 5
print(y)123

我运行以上程序后,得到以下错误信息。

Traceback (most recent call last):
File “C:/Users/612226/PycharmProjects/pythonSamples/cgProblems/chap02/2-7-二次方程错误示例.py”, line 2, in
y = x * x + 3 * x - 5
TypeError: can’t multiply sequence by non-int of type ‘str’

上述错误信息中,”line 2”表明错误发生在第2行。

错误分析

错误在于:第1行代码调用input()函数,返回的是字符串,这使得变量x的值是一个字符串。在第2行代码中,字符串值参与乘法运算,错!

正确解法

x = float(input())
y = xx + 3x - 5
print(y)123

第1行代码,先执行input()函数,返回字符串,然后调用float()函数,把字符串转换为浮点数(对应数学上的实数),最后赋值给变量x。这样,第1行代码执行后,变量x的值是一个浮点数。

相关文章

网友评论

    本文标题:百道Python入门级练习题(新手友好)第八回合——求二次方程

    本文链接:https://www.haomeiwen.com/subject/gwouzftx.html