首页 > 解决方案 > 加载栏 - 类型错误:只能将 str(不是“int”)连接到 str

问题描述

例子:

import time

# [...]

for x in range(3):
    x = "Loading" + "."
    print(x, end="\r")
    x += 1
    time.sleep(1.2)

我试图制作一个加载栏,但出现此错误:

    x += 1
TypeError: can only concatenate str (not "int") to str

我想要这个输出:

>>>Loading.
>>>Loading..
>>>Loading...

我该怎么办?

标签: python

解决方案


for x in range(3):
    x = "Loading" + "."
    print(x, end="\r")
    x += 1

您需要返回您的教程材料并学习如何使用您的基本编程构建块。首先,您x为两种不同的编程思想命名;这是你麻烦的主要来源。

  • for声明中,你说你想做x一个从 0 到 2 的计数器。
  • 在循环的最后一条语句中,您坚持要x以不同的方式控制 的值。
  • 在另外两个语句中,你说你想x成为字符串Loading.

你不能一下子拥有所有这些。请参阅Python 变量如何工作?.

反而,

  1. 让你的概念直截了当,并为每个概念使用一个单独的变量;
  2. 给每个概念一个有意义的名字;
  3. 学习跟踪你自己的工作——查看这个可爱的调试站点寻求帮助。

这是一个起点:

bar = "Loading"
for count in range(3):
    bar += '.'       # Append one more dot to the bar
    print(bar, end='\r')

还有更多工作要做;我把它留给你。


推荐阅读