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 
发布了44 篇原创文章 · 获赞 57 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45144837/article/details/103939623
今日推荐