1. 程式人生 > >19道Python循環遍歷,while,for語句測試題,網上看到的題目,自己不看答案全部做了一次,總共3個小時左右

19道Python循環遍歷,while,for語句測試題,網上看到的題目,自己不看答案全部做了一次,總共3個小時左右

對稱 乘法 次數 輸入 一半 r語 整除 回文數 同時

# 1. 輸出10行內容,每行的內容都是“*****”。
for i in range(0,10):
for j in range(0,10):
print("*",end="")
print()

# 2. 輸出10行內容,每行的內容都不一樣,第1行一個星號,第2行2個星號,依此類推第10行10個星號
for i in range(0,11):
for j in range(2*i-1):
print("*",end="")
print()


# 3. 輸出9行內容,,第1行輸出1,第2行輸出12,第3行輸出123,以此類推,第9行輸出123456789。
for i in range(1,10):
for j in range(1,i+1):
print(j,end="")
print()


# 4. 計算10個99相加後的值並輸出。

for i in range(1,11):
print(i*99)

# 5. 計算從1加到100的值並輸出。

for i in range(1,100+1):
print(((i+1)/2)*i)


# 6. 計算10的階乘(1x2x3x4x5x6x7x8x9x10)
a=1
for i in range(1,10+1):
a=a*i
print(a)

# 7. 計算2的20次方。不允許用**和pow()
num = 1
for i in range(1,20+1):
num = (num*2)
print(num)

# 8. 計算從1到1000以內所有奇數的和並輸出。
sum = 0
for i in range(1,1000+1):
if i%2!=0:
# print(i)#打印所有奇數
sum = i+sum
print(sum)

# 9. 計算從1到1000以內所有能被3或者17整除的數的和並輸出
sum = 0
for i in range(1,1000+1):
if i%3==0 and i%17==0:
print(i)#打印符合要求的數字
sum = i+sum
print(sum)

# 10. 計算從1到1000以內所有能同時被3,5和7整除的數的和並輸出
sum = 0
for i in range(1,1000+1):
if i%3==0 and i%5==0 and i%7==0:
print(i)
sum = i+sum
print(sum)


# 11. 計算1到100以內能被7或者3整除但不能同時被這兩者整除的數的個數。
num = 0
for i in range(1,100+1):
if i%7==0 or i%3==0 and not (i%3==0 and i%7==0):
num+=1
print(num,i)


# 12. 計算1到100以內能被7整除但不是偶數的數的個數。
num = 0
for i in range(1,100+1):
if i%2!=0 and i%7==0:
num+=1
print(num,i)


# 13. 計算從1到100臨近兩個整數的合並依次輸出。比如第一次輸出3(1+2),第二次輸出5(2+3),最後一次輸出199(99+100)。
num = 1
for i in range(1,100):
print("%d(%d+%d)"%((2*num+1),num,num+1))
num+=1

# 14. 給定一個整數n,判斷是否是質數(質數是只能被1和它自身整除的數)
i = int(input("請輸入一個正整數:"))

if i==2:
print("質數")

elif i>2:
for j in range(1,i):
if i%2==0:
print(i,"不是質數")
else:print(i,"這是質數")


# 15. 給定一個不大於9的數n,打印nn乘法表
num = int(input("請輸入一個不大於9的正整數:\n"))
for i in range(1,num+1):
for j in range(1,i+1):
print("%d*%d=%2d"%(i,j,i*j),end=" ")
print()

# 16. 五位數中,對稱的數稱為回文數,打印所有的回文數並計算個數。如:12321
num = 0
for i in range(10000,99999):
i= str(i)
if i == i[::-1]:
num+=1
print(i,"這是回文數!",num)


# 17. 給定一個n位(不超過10)的整數,將該數按位逆置,例如給定12345變成54321,12320變成2321.
num = input("請輸入一個不超過10位的正整數:\n")
num = num[::-1]
num = int(num)
print(num)


# 18. 輸出所有的三位水仙花數,其各位數字立方和等於該數本身。

o = 0
k = 0
for i in range(100,1000):
n1 = i//100
n2 = (i-n1*100)//10
n3 = i-n1*100-n2*10
if n1**3+n2**3+n3**3 ==i:
k+=1
print(i,"這是水仙花數",k)

else:
o+=1
print(i,"不是水仙花數",o)


# 19. 一球從100米高度自由落下,每次落地後反跳回原高度的一半,再落下。求它在第n次落地時,共經過多少米?
num = input("請輸入落地次數:")
num = int(num)
sum = 0
for i in range(1,num+1):
sum = 100+sum/2
print(sum)

19道Python循環遍歷,while,for語句測試題,網上看到的題目,自己不看答案全部做了一次,總共3個小時左右