头歌python实训通关四——循环结构


第1关:计算阶梯数

任务描述

本关任务:爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请编程求解该阶梯至少有多少阶。

相关知识

为了完成本关任务,你需要掌握:1.条件语句,2.循环语句。

编程要求

根据提示,在右侧编辑器补充代码,返回最少的阶梯数。

测试说明

平台会对你编写的代码进行测试:

测试输入: 预期输出: 119

def countlevel():
    '''
     
       :return:最小阶梯数
       '''
    #        请在此处添加代码       #
    # *************begin************#
    a=7
    while(1):
        if a%2==1 and a%3==2 and a%5==4 and a%6==5 and a%7==0:
            return a
        a+=1    
    # **************end*************#
    
print(countlevel())

第2关:打印三角形图案

任务描述

本关任务:编写一个能打印三角形图案的函数。

相关知识

为了完成本关任务,你需要掌握:1.for循环嵌套语句。

编程要求

根据提示,在右侧编辑器补充代码,根据参数pow(三角形行)编写一个能打印pow行三角形图案的函数。

测试说明

平台会对你编写的代码进行测试:

测试输入:4; 预期输出:

  1. *
  2. **
  3. ***
  4. ****
  5. *
  6. **
  7. ***
  8. ****
  9. *
  10. ***
  11. *****
  12. *******

说明:程序会根据函数参数pow打印三个三角形,每个三角形pow行。

测试输入:8; 预期输出:

 
  1. *
  2. **
  3. ***
  4. ****
  5. *****
  6. ******
  7. *******
  8. ********
  9. *
  10. **
  11. ***
  12. ****
  13. *****
  14. ******
  15. *******
  16. ********
  17. *
  18. ***
  19. *****
  20. *******
  21. *********
  22. ***********
  23. *************
  24. ***************
def triangle(row):
    '''
       根据row值,打印三个三角形
       :row:三角形行数
       :return: 无返回值
       '''
    #        请在此处添加代码       #
    # *************begin************#
    for i in range(row):
        for j in range(i+1):
            print("*",end="")
        if(i!=(row)):
            print()
    for i in range(row):
        print((row-i-1)*" ",end="")
        for j in range(i+1):
            print("*",end="")
        print()
    for i in range (row):
        print((row-i-1)*" ",end="")
        for j in range(2*i+1):
            print("*",end="")
        print()   
    # **************end*************#
    
row = int(input())
triangle(row)

第3关:双色球选号

任务描述

本关任务:编写一个能实现双色球选号的小程序。

相关知识

为了完成本关任务,你需要掌握:1.条件语句,2.列表操作,3.循环语句,4函数定义及调用。

编程要求

根据提示,在右侧编辑器补充代码,编写一个能实现双色球选号的小程序。 双色球选号由7个数字组成y,其中有6个红球,其号码的取值范围为[1,33],一个蓝球的取值范围为[1,16],要求6个红球从小到大排列,蓝球在最后输出。其输出格式为09 12 16 20 30 33 | 03。(注意,如双色球号码为3,则必须输出03)

测试说明

平台会对你编写的代码进行测试:

测试输入:7; 输入说明:选7注 预期输出:

 
  1. 09 12 16 20 30 33 | 03
  2. 01 07 08 09 18 31 | 16
  3. 05 08 21 26 28 31 | 05
  4. 01 03 06 22 25 33 | 02
  5. 02 09 16 20 27 28 | 13
  6. 15 19 24 26 28 32 | 05
  7. 02 05 07 16 24 32 | 09

输出说明:生成7注双色球号。|后面的数字为蓝球的号码 提示:等概率的生成一组无重复的数,可以采用sample函数,其案例如下 如要在1-10中等概率抽取6位数,代码如下

 
  1. from random import sample
  2. t = [x for x in range(1, 11)]
  3. print(sample(t,6))
from random import randrange, randint, sample
import random
def display(balls):
    """
    按照题目所要求格式输出列表中的双色球号码

    :param balls:双色球号码列表,如[9,12,16,20,30,33 3]
    :print:输出格式为09 12 16 20 30 33 | 03
    :return: 无返回值

    """
    #        请在此处添加代码       #
    # *************begin************#
    t=[x for x in range(1,17)]
    a=(sample(t,1))
    balls.sort(reverse=False)
    c=balls+a
    f=1
    for i in c:
        if i<10:
            d="0"+str(i)
        else:
            d=str(i)
        print(d+" ",end="")
        if f ==6:
            print("| ",end="")
        f+=1
    print()
    # **************end*************#


def random_select():
    """
    随机选择一组号码
    :return: 返回随机选择的这一组号码,如[9,12,16,20,30,33 3]
    """
    #        请在此处添加代码       #
    # *************begin************#
    t=[x for x in range(1,34)]
    return(sample(t,6))
    # **************end*************#

#n为注数
def main(n):

    for _ in range(n):
        display(random_select())
        
random.seed(3)
n = int(input())
if __name__ == '__main__':
    main(n)

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 循环结构Python编程中非常重要的一部分,它可以让我们重复执行某些代码块,从而简化程序的编写和运行。下面是头歌Python作业答案中循环结构的一些示例: 1. for循环 for循环可以遍历一个序列或者集合中的元素,例如: ``` # 遍历列表中的元素 fruits = ['apple', 'banana', 'orange'] for fruit in fruits: print(fruit) # 遍历字符串中的字符 word = 'hello' for char in word: print(char) ``` 2. while循环 while循环可以在满足某个条件的情况下重复执行代码块,例如: ``` # 计算1到100的和 sum = i = 1 while i <= 100: sum += i i += 1 print(sum) ``` 3. break和continue语句 break语句可以在循环中提前退出,而continue语句可以跳过当前循环中的某些代码,例如: ``` # 找到第一个大于10的数 numbers = [1, 5, 8, 12, 7, 9] for num in numbers: if num > 10: print(num) break # 打印1到10之间的奇数 i = 1 while i <= 10: if i % 2 == : i += 1 continue print(i) i += 1 ``` 以上是头歌Python作业答案中循环结构的一些示例,希望对您有所帮助。 ### 回答2: 在Python中,循环结构分为for循环和while循环。for循环语句用于遍历序列(例如列表、元组、字符串等),它会将序列中的每一个元素遍历一遍。而while循环语句则会在条件为真的情况下不断执行语句块。 下面是几个常用的循环结构例: 1. for循环 ``` fruits = ['apple', 'banana', 'orange'] for fruit in fruits: print(fruit) ``` 运行结果: ``` apple banana orange ``` 2. while循环 ``` n = 1 while n <= 10: print(n) n += 1 ``` 运行结果: ``` 1 2 3 4 5 6 7 8 9 10 ``` 3. break语句 break语句在循环内部使用,用于停止循环并退出程序: ``` n = 1 while n <= 10: if n == 5: break print(n) n += 1 ``` 运行结果: ``` 1 2 3 4 ``` 4. continue语句 continue语句在循环内部使用,用于跳过当前循环,并继续进行下一次循环: ``` n = 1 while n <= 10: if n % 2 == 0: n += 1 continue print(n) n += 1 ``` 运行结果: ``` 1 3 5 7 9 ``` 总的来说,循环结构Python编程中非常重要的一部分,掌握好循环结构的使用可以帮助我们更加高效地处理数据和逻辑。 ### 回答3: Python循环结构是用来重复执行一段代码的。Python中的循环结构包括for循环和while循环。 for循环:for循环用于遍历序列(字符串、列表、元组)或其他可迭代对象。其语法格式如下: for 变量 in 序列: 程序块 其中,变量是每次迭代时从序列中取出的元素,程序块是需要重复执行的代码块。可以在程序块中使用变量进行一些操作。例如: ```python for i in range(1, 6): print("当前数字为:", i) ``` 输出结果为: ``` 当前数字为:1 当前数字为:2 当前数字为:3 当前数字为:4 当前数字为:5 ``` while循环:while循环用于重复执行一段代码,直到指定条件不再成立。其语法格式如下: while 条件: 程序块 其中,条件是需要判断的条件表达式,只有满足条件才会执行程序块。程序块执行完后再次判断条件,如果满足则再次执行程序块,直到条件不成立为止。例如: ```python i = 1 while i <= 5: print("当前数字为:", i) i += 1 ``` 输出结果为: ``` 当前数字为:1 当前数字为:2 当前数字为:3 当前数字为:4 当前数字为:5 ``` 以上是Python循环结构的基本用法,需要注意的是在使用循环结构时要避免出现死循环,即循环条件一直成立导致程序无法停止。在编写程序时一定要多加注意,谨慎地使用循环结构

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值