TypeError:不支持/:“str”和“int”的操作数类型,。。。我想我变了

2024-10-02 08:16:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python有了新的了解,并且正在学习如何绕过它,
我试图创建一个程序来计算通过adb传输文件的时间,使用3mbps作为设置的传输速度,并首先将所有文件大小转换为字节(*1024*1024…)。
这是我的代码,它在底部产生的错误。

欢迎任何代码改进

  class AdbCalculator:
    file_size, size_units = input("Input the file size (MB or GB):\n").split()
    float(file_size)
    str(size_units)
    size_units.capitalize()
    time = 0.0
    speed = 3 * 1024 * 1024

    def sizeCalculator(self):
        # Change size to bytes
        if self.size_units == 'MB':
            self.file_size *= (1024 * 1024)
        elif self.size_units == 'GB':
            self.file_size *= (1024 * 1024 * 1024)
        else:
            print('Wrong size units! use GB or MB\n')
        return self.file_size

    def timeCalculator(self):
        # Calculating the time taken
        self.time = self.file_size / self.speed
        if self.time >= 60:
            foo = self.time / 60
            if foo <= 60:
                return 'About %s Minutes' % foo  # Time in minutes
            else:
                foo /= 60
                return 'About %s hours' % foo  # Time in Hours
        else:
            return 'About %s seconds' % self.time  # Time in seconds


foo = AdbCalculator()
print(foo.sizeCalculator())
print(foo.timeCalculator())

这是输入2MB后的输出

222222222222...
 Traceback (most recent call last):
  File "/Users/User/Documents/Programming/python/python/adb time calculator.py", line 35, in <module>
    print(foo.timeCalculator())
  File "/Users/User/Documents/Programming/python/python/adb time calculator.py", line 21, in timeCalculator
    self.time = self.file_size / self.speed
TypeError: unsupported operand type(s) for /: 'str' and 'int'

Process finished with exit code 1

如果有关系的话我会用pycharm。 谢谢


Tags: inselfsizereturniffootimemb
1条回答
网友
1楼 · 发布于 2024-10-02 08:16:17

float(file_size)这行行不通。
你应该把它分配给它自己,比如:file_size = float(file_size

一些改进:

  1. str(size_units)也有同样的问题。应该是这样:size_units = str(size_units)
  2. size_units.capitalize()也有同样的问题。
    应该是size_units = size_units.capitalize()

相关问题 更多 >

    热门问题