Python程序设计基础 循环结构习题

版本:P清华大学出版社 周元哲 编著

有错误的地方请见谅

1.求1~100之间所有的素数,并统计素数的个数

  用Java写的,自己改改

package JavaTextF;

public class JavaText5 {
	public static void main(String[]args){
		int i,j;
		int k=0;
		System.out.print("100内的质数是:");
		for(i=2;i<=100;i++){
			for(j=2;j<=i/2;j++){
				if(i%j==0)
					break;
				}
			if (j>=i/2){
				System.out.print(i+" ");
			    k++;
			}
		}
		System.out.println();
		System.out.println("总数为:"+k);
	}
}

python

k=0
for i in range(2,101):
    g=0
    for j in range(2,i/2):
        if i%j==0:
            g=1
    if g==0:
        k+=1
        print i,
print "总数是:",k


2.求200以内能被17整除的最大正整数

m=200
while m%17!=0:
    m-=1
print "m=",m


3.设m=1*2*3*……*n,求m为不大于20000时的最大的n

m=1
n=1
while m<20000:
    n+=1
    m*=n
print "最大的n=",n-1

4.勾股定理中3个数的关系是:a^2+b^2=c^2,编写一个程序,输出30以内满足上述条件的整数组合,如3,4,5就是一个组合

i=0
for a in range(1,31):
    for b in range(1,31):
        for c in range(1,31):
            if a**2+b**2==c**2 and a


5.625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了625,还有其他3位数有这个特征吗?请编写程序,寻找所有这样的三位数:它的平方的末三位是这个数字本身

for i in range(100,1000):
    m=i**2
    if(m-i)%1000==0:
        print i,


6.求1~100之间能被7整除,但不能同时被5整除的所有整数

for i in range(1,101):
    if(i%7==0 and i%5!=0):
        print i,

7.编写程序,打印星号

(1)

*******
 *****
  ***
   *
for i in range(1,5):
    for k in range(0,i-1):
        print " ",
    for j in range(1,10-2*i): 
        print "*",
    print


(2)

*
***
*****
*******
*****
***
*
for i in range(1,5):
    for j in range(1,2*i):
        print "*",
    print
for i in range(1,4):
    for j in range(1,8-2*i):
        print "*",

(3)

   *
  ***
 *****
*******
 *****
  ***
   *
for i in range(1,5):
    for k in range(0,4-i):
        print" ",
    for j in range(1,2*i):
        print"*",
    print
for i in range(1,4):
    for k in range(0,i):
        print" ",
    for j in range(7-2*i):
        print"*",
    print


打印任意排数的星号(偶数的自己改改就好了)

n=input("请输入打印的奇数n:")
m=(n+1)/2
for i in range(1,m+1):
    for k in range(0,m-i):
        print" ",
    for j in range(1,2*i):
        print"*",
    print
for i in range(1,m):
    for k in range(1,i+1):
        print" ",
    for j in range(1,2*m-2*i):
        print"*",
    print





你可能感兴趣的:(Python)