有人可以修复我的代码吗?我有一个语法错误,我不明白。
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)
上述代码有什么问题?我不知道什么是错的。
IDE说它在第9行是不受支持的操作数类型, 在
calculated = int (sum1/gennum)
答案 0 :(得分:2)
我修改了你的代码,使它至少在python 3.4上执行/编译。基本上num=int
和gennum = int
都是问题。这不会使num
和gennum
成为整数。这只会将代表int()
函数的对象分配给num
和gennum
。
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)
但是,它是否符合您的要求是一个不同的问题。我无法回答,因为我不知道你想要做什么。
答案 1 :(得分:1)
num=int
gennum = int
这些都没有正确初始化,因此当你执行calculated = int (sum1/gennum)
时,它会尝试通过内置类型{划分int(sum1
,即0)的实例{ {1}},这将导致int
。
答案 2 :(得分:0)
我认为你错过了一些代码(或者你正在编写不完整的代码)。
您输入:
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)