半灵桑 发表于 2023-9-30 20:55:55

能给一些使用反馈吗(

本帖最后由 半灵桑 于 2023-10-1 07:59 编辑

最近整了一个简易的计算器(


#made with python3.10
while 1:
    i = input('1+ 2- 3* 4/ 5^ 6√ \n')
    try:
      print(float(input()) + float(input()) if i == '1' else float(input()) - float(input()) if i == '2'else float(input()) * float(input()) if i == '3' else float(input()) / float(input()) if i == '4' else float(input()) ** float(input()) if i == '5' else float(input()) ** 0.5 if i == '6' else 'err\n','\n')
    except Exception:
      print("err\n\n")


各位佬们有看见的能提点指导意见吗(

Mike_python小 发表于 2023-9-30 20:56:15

关于计算器程序的反馈

你的计算器程序看起来很简单,但是可能会存在一些问题。我列举了几点反馈和建议:

1. 计算器缺少必要的输入提示信息。对于用户来说,输入“1+”或“2-”等内容并不直观,更好的方式应该是在程序中添加相应的提示信息,比如“请输入第一个数字”、“请输入运算符号”、“请输入第二个数字”等等。

2. 计算器没有考虑到除数为0的情况。在除法运算中,如果输入的第二个数字为0,程序就会报错。你可以添加一些判断语句来处理这种情况,比如输出错误信息或者提示用户重新输入。

3. if/else语句过于复杂,可读性差。你可以使用Python中的字典或者函数等方式来简化代码。例如,你可以将计算方法封装在一个函数中,然后使用字典来存储用户输入的运算符和相应的函数名。

4. 缺少异常处理和越界判断。比如,如果用户输入了非数字内容,程序会报错。你可以使用try/except语句来捕获异常并输出错误信息。此外,你还需要判断用户输入的运算符是否合法,以及数字是否超出范围等问题。

5. 缺少实用功能。你可以尝试添加一些实用的功能,比如保存计算记录、支持科学计数法、支持多种进制转换等等。

希望这些建议对你有所帮助,继续加油!

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

isdkz 发表于 2023-9-30 20:56:19

你的代码看起来很不错。以下是一些使用反馈和改进建议。

1. 增加错误提示:当用户输入无效的操作符或无效的数字时,你的代码只是打印 "err"。这可能会让用户感到困惑。你可以尝试输出更有用的错误消息,以帮助用户更好地理解问题所在。

2. 增加用户输入验证:你的代码没有对用户输入进行任何验证。这意味着用户可以输入任何东西,包括非数字字符,这可能会导致程序崩溃。你可以尝试使用正则表达式或其他方法验证用户输入。

3. 增加更多的操作符:你的代码只支持加、减、乘、除四种基本操作符。你可以尝试增加更多的操作符,例如幂运算、取模运算等。

4. 增加更多的功能:你的代码只是一个简单的计算器。你可以尝试添加其他功能,例如计算三角函数、对数函数等。

希望这些建议能对你有所帮助!

半灵桑 发表于 2023-9-30 21:00:33

isdkz 发表于 2023-9-30 20:56
你的代码看起来很不错。以下是一些使用反馈和改进建议。

1. 增加错误提示:当用户输入无效的操作符或无 ...

请告诉我这坨屎到底是怎么样变得很不错的(

小甲鱼 发表于 2023-10-1 00:17:31

半灵桑 发表于 2023-9-30 21:00
请告诉我这坨屎到底是怎么样变得很不错的(

{:10_250:} 你把一个 print() 搞那么长干啥~

半灵桑 发表于 2023-10-1 07:48:52

本帖最后由 半灵桑 于 2023-10-1 08:04 编辑

小甲鱼 发表于 2023-10-1 00:17
你把一个 print() 搞那么长干啥~

自从学习了小甲鱼的《0基础入门学习牌~神~》……

风眠 发表于 2023-10-1 16:00:39

半灵桑 发表于 2023-10-1 07:48
自从学习了小甲鱼的《0基础入门学习牌~神~》……

有道理!我也爱怎么干!
1.能不敲回车就不敲回车
2.能不写注释就不写注释
3.能用隐式不用显式
4.能Ctrl + C Ctrl + V 不手打
5.。怎么省事怎么来
6.能写一行不用两行
7. ......
把代码写到自己都看不懂了——然后出BUG了才知道要改

但——怎么改?诶,有主意了!重构!
重构完了,但还是看不懂——等出BUG再说......

风眠 发表于 2023-10-1 16:03:50

小甲鱼 发表于 2023-10-1 00:17
你把一个 print() 搞那么长干啥~

小甲鱼老师说得好!{:5_106:}
就是为什么你要特意发主题“如何一行代码列出‘FishC’的全部组合”啊?{:5_94:}


不过话说回来,你是怎么想到的啊......{:5_94:}
页: [1]
查看完整版本: 能给一些使用反馈吗(