所以我有这个代码,它应该打印出一个包含所有素数的元组。但相反,它只是打印出一个空的元组......
谁能告诉我为什么? 我也必须使用一个TUPLE。
public class Package1
{
double length;
double width;
double height;
Package1(double a,double b, double c)
{
length=a;
width=b;
height=c;
}
public void isCube()
{
if(length==width && width==height)
System.out.println("The box is a cube.");
else
System.out.println("Box is not a cube. ");
}
public class Runtime{
public static void main(String[] args){
Package1[] boxes = new Package1[rows];
for(int j = 0; j < boxes.length; j++)
{
boxes[j] = new Package1(arr[j][0], arr[j][1], arr[j][2]);
}
这是正确的代码
def isPrime(number):
for i in range(2,int(number**(0.5))+1):
if number % i == 0:
return False
else:
return True
def allPrimes(number):
tup=()
for i in range(1,number):
if isPrime(i) == True:
tup += (i,)
print(tup)
allPrimes(26)
答案 0 :(得分:2)
您的<CTRL+Z>
函数从1开始。每个整数都可以被1整除,因此它总是返回-->ATD"*111*38#;
<--OK
...
<--+CUSD: 1,"UTF16BE(menu with list of command)",72
<-->
-->command<CTRL+Z>
<--OK
...
<--+CME ERROR: ss not executed
-->ATD"*111*38#;
<--OK
...
<--+CUSD: 1,"UTF16BE(menu with list of command)",72
<-->
-->command <CTRL+Z>
<--OK
...
<--+CUSD: 2,"UTF16BE",72
。从2开始。
isPrime()
另外,你的allPrimes应该使用列表而不是元组,你只能使用False
而不是def isPrime(number):
if number < 2:
return False
for i in range(2, int(number ** (0.5)) + 1):
if number % i == 0:
return False
return True
,但它会按原样使用。
答案 1 :(得分:1)
这是因为你的isPrime功能无法正常工作。
app.directive('i', ['$interpolate', function($interpolate) {
return {
scope: {
i: '<'
},
template: '<div>{{ i.text1 || \'DIV1\' }}</div><div>{{ i.text2 || \'DIV2\' }}</div>',
link: function (scope, element, attrs) {
element.after($interpolate(element.html())(scope));
element.remove();
}
};
}]);
,即除以1&#39;时的余数,对于整数,总是为零。
答案 2 :(得分:1)
您的代码中存在一些问题:
1)isPrime
在错误的行上返回True
2)您正在功能范围之外打印tup
3)您没有处理1
(isPrime
)
4)您正在使用tuple
来存储素数,list
更好;效率更高。
5)在Python中使用snake case作为函数名。
进行更改:
def is_prime(number):
if number < 2:
return False
for i in range(2,int(number**(0.5))+1):
if number % i == 0:
return False
return True
def all_primes(number):
my_primes = []
for i in range(1,number):
if is_prime(i):
my_primes.append(i)
return my_primes
if __name__ == "__main__":
print all_primes(40)
答案 3 :(得分:0)
因为在第一次迭代中,如果number % i != 0:
数字为素数,则必须在迭代结束时返回True
,如果`number%i == 0:
def isPrime(number):
res = True
if number < 2:
res = False
else:
for i in range(2,int(number**0.5)+1):
if number % i == 0:
res = False
break
return res