gpt4 book ai didi

python - 在 python 中使用 eval() 添加数字

转载 作者:行者123 更新时间:2023-11-28 18:51:12 24 4
gpt4 key购买 nike

我想让用户输入字符串,例如 2+5-3+6 并返回 10。如果用户输入 c 然后答案将被打印出来。我不知道如何在用户输入 c 时让项目中断。

print 'This is a calculator. Please follow the instruction.'

temp = 0
string = 0

def asmd(string):
print 'Your answer is', eval(str(string))

while temp != 'c':
print 'Please enter a number or operation. Enter c to complete. :'
temp = raw_input()
string = str(string)+str(temp)

if temp == str('c'):
asmd(string)

最佳答案

要修复计算器,只需确保结束字符 (c) 不会出现在结果字符串中:

if temp == str('c'):
asmd(string[:-1])

但我必须指出,整个脚本非常疯狂。您正在使用 eval,它可以一次计算完整的表达式,但您仍然指示用户逐一输入它们。使用 eval,您可以在一行中重写整个脚本:

print eval(raw_input())

此外,正如评论中广泛指出的那样,如果您不信任运行计算器的用户,使用 eval 通常不是一个好主意。如果您只是练习,那很好——只是不要在“真实代码”中使用 eval

关于python - 在 python 中使用 eval() 添加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12959615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com