python错误我的cod上不支持的操作数

2024-09-28 23:44:14 发布

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

有人能修好我的密码吗?我有个语法错误我不明白。你知道吗

import random
n= int (0)
sum1=int (0)
temp=int (0)
num=int
gennum = int
count= (0)
outputs= (0)
calculated = int (sum1/gennum)
while count > 3:
    max = int (input("enter a max value:"))
    min = int (input("enter a minimum value:"))
    gennum = int (input("how many numbers do you want to generate?"))
    if min>max:
        temp=min
        min=max
        max=temp
    while n < gennum:
        num=(random.randint(min,max))
        sum1 = sum1 + num
        print (num)
        n=n+1
        count = count + 1
    print("this is the averages",calculated)
print("this is the maximum",max)

print("this is the maximum",max)

上面的代码怎么了?我不知道怎么了。你知道吗

错误

The IDE says that its a unsupported operand type at line 9, at

calculated = int (sum1/gennum)

Tags: theinputiscountrandomminthistemp
3条回答

我认为您遗漏了一些代码行(或者您正在编写不完整的代码)。你知道吗

第6行和第7行

您键入:

num=int
gennum = int

这很奇怪,你应该给他们价值,类似于他们周围的线。你知道吗

num = int(0)
gennum = int(0)

即使有这个值,它也会产生另一个错误,即

calculated = int (sum1/gennum)
ZeroDivisionError: division by zero

因为gennum的值是零。你不能做anynumber/0。因此,应该正确初始化变量。比如说

num = int(0)
gennum = int(1)

然后,你可以继续

import random

n= int (0)
sum1=int (0)
temp=int (0)
num=int (0)
gennum = int (1)
count= (0)
outputs= (0)
calculated = int (sum1/gennum)

while count > 3:
    max = int (input("enter a max value:"))
    min = int (input("enter a minimum value:"))
    gennum = int (input("how many numbers do you want to generate?"))
    if min>max:
        temp=min
        min=max
        max=temp
    while n < gennum:
        num=(random.randint(min,max))
        sum1 = sum1 + num
        print (num)
        n=n+1
        count = count + 1
    print("this is the averages",calculated)
print("this is the maximum",max)
num=int
gennum = int

它们没有正确初始化,因此在执行calculated = int (sum1/gennum)操作时,它将尝试将int(sum1,即0)的实例除以内置类型int,这将导致沿TypeError: unsupported operand type(s) for /: 'int' and 'type'行的错误。你知道吗

我修改了您的代码,使它至少可以在python3.4上执行/编译。基本上num=intgennum = int都是问题。这不会使numgennum成为整数。这只将表示int()函数的对象分配给numgennum。你知道吗

import random

n= 0
sum1=0
temp=0
num=0
gennum = 0
count= 0
outputs= 0
calculated = 0

while count < 3:
    max = int (input("enter a max value:"))
    min = int (input("enter a minimum value:"))
    gennum = int (input("how many numbers do you want to generate?"))
    if min>max:
        temp=min
        min=max
        max=temp
    while n < gennum:
        num=(random.randint(min,max))
        sum1 = sum1 + num
        print (num)
        n=n+1
        count = count + 1
    print("this is the averages",calculated)

print("this is the maximum",max)

但它是否做了你想要它做的是另一个问题。我不能回答,因为我不知道你想做什么。你知道吗

相关问题 更多 >