萌萌哒的杂粮饼 发表于 2024-2-23 19:19:37

新人求教

while True:
    command = input("请输入命令(exit/pow):")
    if command == "pow":
      base = int(input("请输入底数:"))
      exp = int(input("请输入指数:"))
      pow(base, exp)
      print(pow)
    elif command == "exit":
       continue

为什么最后print 打印不出pow的数值
if command == "pow" 为什么要用引号

FishC 发表于 2024-2-23 19:19:55

首先,关于为什么最后的 print 函数没有打印出 pow 的值,这是因为你忘记了将 pow 的结果传递给 print 函数。你可以修改代码如下:

while True:
    command = input("请输入命令(exit/pow):")
    if command == "pow":
      base = int(input("请输入底数:"))
      exp = int(input("请输入指数:"))
      result = pow(base, exp)# 将 pow 的结果赋值给 result 变量
      print(result)# 打印 result 的值
    elif command == "exit":
      break# 使用 break 语句跳出循环

其次,关于为什么在 `if command == "pow"` 这行代码中使用引号:
这是因为 `input` 函数返回的是一个字符串(即用户输入的命令),而非变量名。所以在判断用户输入的命令是否为 `"pow"` 时,我们需要将该命令用引号括起来,使其成为一个字符串。

希望能帮到你!如果你还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

学习编程中的Ben 发表于 2024-2-23 19:26:46

打不出来是因为pow是一个函数,不是变量,他不会储存运行的结果,只会返回.
应该改成:
p = pow(base, exp)
print(p)

加引号是因为你判断的是输入的字符串.当你输入的字符串为pow时,他才执行,而不是当输入pow这个函数时

给个最佳答案吧!!!求求了!!!
页: [1]
查看完整版本: 新人求教