Python循環題型(1.1~100求和 2.判斷素數 3.猜數字遊戲 4.打印九九表 )

Python循環題型

例1 1-100求和:

程序分析:

  • 使用range(1,101)生成一個整數序列,使用sum變量相加每一個整數

程序示例:

"""
題目:1~100求和
版本:1.0
作者:假書生@
日期:2020111"""
sum = 0
for i in range(1,101):
    sum += i
print(sum)

運行結果:

5050

例2 判斷素數:

程序分析:

素數:素數又稱質數。所謂素數是指除了 1 和它本身以外,不能被任何整數整除的數。
思路:因爲1不是素數,2,3爲素數,可以這樣判斷

if num < 2:
    print("該數字不爲素數")
if num == 2 or num == 3 :
    print("該數字爲素數")

其他的素數都分佈在6n-1和6n+1,所以可以這樣排除:

if num % 6 != 1 and num % 6 != 5:
	print("該數不爲素數")

因爲6n,6n+2,6n+4都爲偶數,6n-1和6n+1爲基數,相除肯定不爲0,如果除以6n+3的話,也可以被3整除,所以6n+3無需判斷,只需除以6n-1和6n+1即可,所以從5開始,到輸入數字的開方結束,步長爲6,

num = int(math.sqrt(num))
    for i in range(5,num):
        if num % i== 0 or num % (i+2) == 0:
            print("該數字不爲素數")
            i += 6
        else:
            print("該數字爲素數")

如果開方數小於5,直接判斷該數爲素數

    if num < 5 :
        print("該數字爲素數")

程序示例:

"""
題目:判斷素數
版本:1.0
作者:假書生@
日期:2020113"""0
import math
def Judge(num):
    if num < 2:
        print("該數字不爲素數")
        return False
    if num == 2 or num == 3 :
        print("該數字爲素數")
        return False
    if num % 6 != 1 and num % 6 != 5:
        print("該數不爲素數")
        return False
    num = int(math.sqrt(num))
    if num < 5 :
        print("該數字爲素數")
        return True
    for i in range(5,num):
        if num % i== 0 or num % (i+2) == 0:
            print("該數字不爲素數")
            i += 6
        else:
            print("該數字爲素數")
while 1:
    num = int(input("請輸入您要判斷的數字:"))
    Judge(num)

運行結果:

請輸入您要判斷的數字:2
該數字爲素數
請輸入您要判斷的數字:3
該數字爲素數
請輸入您要判斷的數字:4
該數不爲素數
請輸入您要判斷的數字:5
該數字爲素數
請輸入您要判斷的數字:8
該數不爲素數

例3 猜數字遊戲:

程序分析:

導入random模塊,隨機獲取一個1到1000的數字
在循環中獲取到用戶輸入的數字,如果用戶輸入的數字大於隨機數,提示猜大了,如果用戶輸入的數字小於隨機數,提示猜小了。猜對則退出循環。

程序示例:

"""
題目:猜數字遊戲
版本:1.0
作者:假書生@
日期:2020113"""
import random
num = random.randint(1,1000)
while 1:
    a = int(input("您要猜的數字"))
    if a > num :
        print("猜大了")
    elif a < num :
         print("猜小了")
    else :
        print("猜對了")
        break

運行結果:

您要猜的數字525
猜小了
您要猜的數字530
猜大了
您要猜的數字525
猜小了
您要猜的數字527
猜小了
您要猜的數字529
猜對了

例4 打印九九表

程序分析:

使用循環的嵌套,第一層循環空值列,從1到九,第二層循環空值行,從1到當前行數,每打印完一行後,就輸出回車。

程序示例:

"""
題目:打印九九乘法表
版本:1.0
作者:假書生@
日期:2020113"""
for i in range(1,10):
    for j in range(1,i+1):
        print("{}*{}={}".format(i,j,i*j),end=' ')
    print()

運行結果:

1*1=1 
2*1=2 2*2=4 
3*1=3 3*2=6 3*3=9 
4*1=4 4*2=8 4*3=12 4*4=16 
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章