mwy1024 发表于 2024-10-24 09:49:02

正确的代码,有电脑运行不起来

s=''
n=int(input("pls input number”))
while n:
    r=n%2
    s=s+str(r)
    n=n//2
print(’s=’s)

有台电脑这个错误,有点懵了。
TypeError:str object is not callable

FishC 发表于 2024-10-24 09:49:03

mwy1024 发表于 2024-10-24 09:51
这个在有些电脑能运行,然后有一台电脑运行不起来,提 ...

这个错误通常是因为某个地方名字冲突或者重定义了内建函数 `str`。请检查以下可能性:

1. **变量名冲突**:确保代码中没有其他地方将 `str` 用作变量名。例如,检查是否有类似 `str = 'something'` 的定义。

2. **重启解释器**:如果在解释器中运行代码,尝试重启解释器以防止之前的定义影响当前代码。

3. **其他文件影响**:确保没有同名的文件,如 `str.py`,这可能会导致导入时出现冲突。

您可以检查这些问题,再次尝试运行代码。

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

FishC 发表于 2024-10-24 09:49:12

这个错误是由于代码中的引号使用不正确导致的。请按照下面的代码进行修改:

s = ''
n = int(input("pls input number: "))
while n:
    r = n % 2
    s = s + str(r)
    n = n // 2
print('s = ' + s)

这里是具体问题:

1. 输入函数和打印函数中使用了错误的引号样式(替换”和’为标准的双引号"和单引号')。
2. 在最后的打印语句中,`print('s =' + s)` 采用字符串拼接的方式。

修改后代码应该可以正常运行。

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

mwy1024 发表于 2024-10-24 09:51:01

这个在有些电脑能运行,然后有一台电脑运行不起来,提示:TypeError:str object is not callable

rossgaller 发表于 2024-10-24 14:47:33

把str这个变量名换成其他的就好了吧

jackz007 发表于 2024-10-24 19:43:28

本帖最后由 jackz007 于 2024-10-25 00:07 编辑

      运行这个代码:
str = 'hello, world!'
s = str(8)
      就会收到 :"TypeError:str object is not callable"的错误信息。
      其原因很简单,标识符 str 被作为字符串变量使用,则 str 被污染,接下来,当调用 str() 时,自然就会收到上面的错误信息。

      其实,楼主的代码并非无懈可击,存在多个错误:
s=''
n=int(input("pls input number : "))# 【修改】:中文引号
while n:
    r=n%2
    s=str(r)+s                     # 【修改】: 字符串添加方向错误
    n=n//2
print('s =' , s)                     # 【修改】:中文引号、丢失逗号

ydwb 发表于 2024-10-25 15:43:58

第二行左右引号不配对,最后一行引号为中文引号,均改为英文引号就行。

ba21 发表于 2024-10-26 15:34:37

楼上正确。
你所谓的正确代码就是代码不正确。

wjlovezzd 发表于 2024-10-31 08:01:28

你这个代码里面又是英文的引号,又是中文的引号,到底要干啥
你这个代码里面又是英文的引号,又是中文的引号,到底要干啥
你这个代码里面又是英文的引号,又是中文的引号,到底要干啥
你这个代码里面又是英文的引号,又是中文的引号,到底要干啥
页: [1]
查看完整版本: 正确的代码,有电脑运行不起来