Python循环小练习

本文通过具体实例介绍如何使用Python编写程序解决数学问题,包括生成不同数字组合、寻找质数、计算最大公约数与最小公倍数等。文章还展示了如何打印九九乘法表以及计算学生的平均成绩。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,2,3,4能组成多少个互不相同且无重复的3位数字,各是多少
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i!=j and i!=k and j!=k:
                print (str(i)+str(j)+str(k))

  总结:用for in range()取到1到4里面的每个数字,因为要组成3位数 所以定义3个循环嵌套,

  从最里层开始依次跟每一层进行循环,设定条件语句,如果三个变量都不相同时,(条件同时成立用and)

则输出每一个变量值并转为str()字符串形式相加
1100内的所有质数
for i in range(2,101):
    for j in range(2,i):
        if i%j==0:
            break
    else:
         print(i)

总结:首先了解质数,一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数,

用 for in range()遍历每个数字,从2开始到100结束,定义两个变量相除看是否能被整除,
不能被整除的则是质数输出,第二个循环中的结束位置为第一个变量名即可,
因为循环从内部 j 开始逐个去跟 i 中每一个数字相除,如果j 大于i 一定不能被整除,
就不需要继续循环后面的数字
所以结束位置不需定义101 直接设定i 即可 ,一旦能整除立即break跳出循环 进行下一次新的循环,
一旦没有整除,没有执行break 则输出else语句 ,注意嵌套缩进
for else用法
:当循环中有break时,如果没有执行if   则执行else

求两个数的最小公倍数 最大公约数  
a=int(input("输入第一个数字"))
b=int(input("输去第二个数字"))
for i in range(b,0,-1):
    if a%i==0 and b%i==0:
        print(str(i)+"是最大公约数")
        break
       # print(str(a*b//i))    (公式方法 最大公约数求最小公倍数方法a*b//最大公约数)
#求出最大公约数后也可用数学固定公式直接求出最小公倍数的值,
#即a*b整除最大公约数 即可得出最小公倍数,
#可代替下面求最小公倍数写法
for i in range(a,a*b+1):
    if  i%a==0 and i%b==0:
        print(str(i)+"是最小公倍数")
        break

总结: 公倍数是能同时把ab整除的 公约数是能同时被ab整除

先写公约数,定义两个变量设为整型输入,用for循环定义a或b的值为起始值 到0结束。每次递减一次循环

(因为同时可以被ab整除的一定是小于他们自身的数,如果大于ab自身则无法被整除,

所以从a或b的值开始循环直到1结束,因为求最大公约数所以-1 步长每次减一,)

一旦可以同时被a ,b整除 %等于0 即brake 跳出循环

公倍数 也是定义a或b为起始值,到它们自身相乘为结束值,(因为可以同时整除a和b 一定是大于他们自身,并且不会超过它们的相乘,)步长不设定默认每次递增加1,执行语句块 如果同时可以整除a和b 则break跳出循环

求一个99乘法表

for i in range(1,10):  
    for j in range(1,i+1):
        print (j,"*",i,"=",j*i,end=" ")
    print()
总结:嵌套循环 用for in ()定义1到9 依次遍历循环,内部循环从1开始 到外部的循环次数加一截止
在输出每次两个循环的本身值 后相乘 并不换行输出 
(end=“”)指不换行 ,外层 print()输出空值 是换行

5名学生各3科成绩的平均成绩

for i in range(1,6):
    input("请输入名字")
    a=0
    for j in range(1,4):
        a=a+int(input("请输入第"+str(j)+"科考试成绩 "))

    print(i,"该学生平均成绩为 ",a/3)

总结:设定一个for循环,定义循环5次,定义一个变量为空,内部嵌套循环定义为3次,用空变量接受3次循环输入的总合加上自身空值,输出总合除以3的平均成绩 ,在进行第二次循环得出平均成绩,直到5次

(嵌套循环先执行最内部循环,循环完内部在循环外部,如:内部定义循环(1,3)两次,

外部定义循环(1,4)三次, 则先循环完内部2次 在循环外部第1次,然后循环内部2次 在循环外部第2次,

以此类推,循环虐我千百遍....时而明白时而蒙圈)

————处女座就是啰嗦,今日完。

### Python 循环与判断语句练习 以下是几个关于 Python循环与判断语句的经典练习及其示例代码: #### 1. 猜数字游戏(无限次机会) 编写一个程序,让用户猜测计算机随机生成的一个介于 1 到 100 的整数。每次猜测后给出提示:“大了”或“小了”,直到用户猜中为止,并显示总共猜测了多少次。 ```python import random num = random.randint(1, 100) # 计算机生成的随机数 count = 0 # 初始化计数器 flag = True # 控制循环标志 while flag: guess_num = int(input("输入你要猜测的数字:")) count += 1 # 每次猜测增加一次计数 if guess_num == num: # 如果猜中 print("恭喜你,猜中了!!!") flag = False # 停止循环 elif guess_num > num: # 如果猜大了 print("你猜的大了") else: # 如果猜小了 print("你猜的小了") print(f"你总共猜测了{count}次") # 输出总次数 ``` 此代码实现了基本的猜数字功能[^1]。 --- #### 2. 死循环打印字符串 创建一个简单的死循环程序,不断打印指定的字符串,除非手动中断程序。 ```python while True: # 条件始终为True print('死循环') # 不断执行的操作 ``` 这段代码展示了如何使用 `while` 实现一个永远不会停止的循环[^2]。 --- #### 3. 判断回文数 编写一个程序,提示用户输入一个三位正整数,然后判断其是否是一个回文数。如果从左到右和从右到左读取相同,则称为回文数。 ```python number = int(input("请输入一个三位数:")) # 提取百位和个位 hundreds_digit = number // 100 # 百位上的数值 ones_digit = number % 10 # 个位上的数值 if hundreds_digit == ones_digit: # 判断首尾是否相等 print("该数是回文数") else: print("该数不是回文数") ``` 上述代码利用除法运算符 (`//`) 和模运算符 (`%`) 提取出所需位置的数字并进行比较[^3]。 --- #### 4. 打印乘法表 设计一段代码来打印九九乘法表,展示嵌套循环的应用场景。 ```python for i in range(1, 10): # 外层控制行号 for j in range(1, i + 1): # 内层控制列号 print(f"{j} * {i} = {i*j}", end="\t") print() # 换行操作 ``` 通过两重 `for` 循环可以轻松构建完整的九九乘法表格结构。 --- #### 5. 质数检测 写一个函数用于验证某个给定自然数 n 是否属于质数范畴。质数定义为仅能被自己或者 1 整除的大于等于2的整数。 ```python def is_prime(n): if n <= 1: # 排除小于等于1的情况 return False for k in range(2, int(n ** 0.5)+1): if (n % k) == 0: # 若存在其他因子则返回假 return False return True # 否则确认为素数 test_number = int(input("Enter a positive integer to check prime status: ")) result = is_prime(test_number) if result: print(f"{test_number} 是质数.") else: print(f"{test_number} 不是质数.") ``` 这里采用试除法原理优化性能至平方根级别复杂度。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值