Python 我一直在做高中的编码活动

Python 我一直在做高中的编码活动,python,function,loops,Python,Function,Loops,我只做了一项活动(虽然这是一项小型活动,但我需要每天完成五项)。这只是保存一个人的数字并删除其他所有内容 这是说明: start_number = input('Start number: ') end_number = input('Ending number: ') def necklace (start_number, end_number): while start_number != end_number start_number = start_number

我只做了一项活动(虽然这是一项小型活动,但我需要每天完成五项)。这只是保存一个人的数字并删除其他所有内容

这是说明:

start_number = input('Start number: ')
end_number = input('Ending number: ')

def necklace (start_number, end_number):
    while start_number != end_number
        start_number = start_number + end_number
        i += 1
        if start_number == end_number:
            break
        
print start_number
print end_number
print i
  • “项链问题”。项链问题从两个一位数开始。这个 下一个数字是将前两个数字相加,只保存一位数。重复此过程,直到“项链”恢复到原来的两条项链为止 数字。例如,如果起始编号为1和8,则需要十二个步骤才能关闭 “项链”。

    例1,8->1 8 9 7 6 3 9 2 1 3 4 7 1 8回答问题而不泄露整个问题:

    您可以通过执行模10运算来获得数字的一位数。例如: 52%10=2

    这适用于任意数字,因此5842068%10等于8


    关于模的更多信息回答问题而不泄露整个问题:

    您可以通过执行模10运算来获得数字的一位数。例如: 52%10=2

    这适用于任意数字,因此5842068%10等于8


    关于模的更多信息,让我们一步一步地了解一下。听起来我们需要一个函数,给定两个初始输入,生成描述项链的列表,包括最后两个输出

    输入导入列表中的
    
    def make_项链(a:int,b:int)->列表[int]:
    项链=[a,b]
    
    很容易得出下一个数字:

    #我们真的不知道什么时候离开循环,所以永远循环,以后再处理
    尽管如此:
    #将最后两个元素相加,并按10进行模运算,只保留1s数字
    下一个链接=(项链[-1]+项链[-2])%10
    项链。附加(下一个链接)
    
    但要想知道什么时候该停下来就更难了。停止条件是什么?当最后两个元素与前两个元素相同时?等等:我们可以比较列表元素,对吗?让我们这样做吧

    如果项链[0:2]==项链[-2:]:
    中断#离开无限循环
    
    我们一出去,就把项链还给你

    返回项链
    

    现在,调用此函数将为您提供整个项链链,您应该可以轻松地从中显示其余的需求。

    让我们一步一步地完成此操作。听起来我们需要一个函数,给定两个初始输入,生成描述项链的列表,包括最后两个输出

    first_number = int(input('First single digit number: '))
    second_number = int(input('Second single digit number: '))
    
    def necklace (first_num, second_num):
      neck_list = [first_num,second_num]
      neck_list.append(int((neck_list[-1]+neck_list[-2])%10))
      while neck_list[:2] !=neck_list[-2:]:
        neck_list.append(int((neck_list[-1]+neck_list[-2])%10))
      return neck_list
    neck_list = necklace(first_number,second_number)
    print("first number: {}".format(neck_list[0]),"second number: {}".format(neck_list[1]),"necklace size: {}".format(len(neck_list)),"necklace: {}".format(neck_list),sep='\n')
    
    输入导入列表中的
    
    def make_项链(a:int,b:int)->列表[int]:
    项链=[a,b]
    
    很容易得出下一个数字:

    #我们真的不知道什么时候离开循环,所以永远循环,以后再处理
    尽管如此:
    #将最后两个元素相加,并按10进行模运算,只保留1s数字
    下一个链接=(项链[-1]+项链[-2])%10
    项链。附加(下一个链接)
    
    但要想知道什么时候该停下来就更难了。停止条件是什么?当最后两个元素与前两个元素相同时?等等:我们可以比较列表元素,对吗?让我们这样做吧

    如果项链[0:2]==项链[-2:]:
    中断#离开无限循环
    
    我们一出去,就把项链还给你

    返回项链
    
    现在,调用此函数将为您提供整个项链链,您应该可以轻松地从中显示其余的需求

    first_number = int(input('First single digit number: '))
    second_number = int(input('Second single digit number: '))
    
    def necklace (first_num, second_num):
      neck_list = [first_num,second_num]
      neck_list.append(int((neck_list[-1]+neck_list[-2])%10))
      while neck_list[:2] !=neck_list[-2:]:
        neck_list.append(int((neck_list[-1]+neck_list[-2])%10))
      return neck_list
    neck_list = necklace(first_number,second_number)
    print("first number: {}".format(neck_list[0]),"second number: {}".format(neck_list[1]),"necklace size: {}".format(len(neck_list)),"necklace: {}".format(neck_list),sep='\n')
    
    输出: 第一个单位数:1
    第二个单位数:8
    第一个数字:1
    第二个数字:8
    项链尺寸:14
    项链:[1,8,9,7,6,3,9,2,1,3,4,7,1,8]

    代码是不言自明的。

    输出: 第一个单位数:1
    第二个单位数:8
    第一个数字:1
    第二个数字:8
    项链尺寸:14
    项链:[1,8,9,7,6,3,9,2,1,3,4,7,1,8]


    代码是不言自明的。

    好的,那么您当前的代码有什么问题?您是否尝试将问题的基本部分(添加并保留最后一位数字)中的任何内容包含到代码中?看着它,它会给人一种印象,你还没有尝试过类似的东西,你希望我们做必要的工作。请查看,当您遇到特定问题时,欢迎您编辑您的问题。不要忘记将您的
    input()
    包装为
    int()
    ,否则
    input
    将返回一个字符串值。提示:当您得到数字输入,即键入
    int
    时,您需要将其转换为
    字符串
    类型,以便能够应用slice方法来获取1的位置。一旦你有了那部分,你应该能够在索引上迭代,当
    start\u number==final\u number
    中断并打印时。好的,那么你的问题应该是明确的,并且只与此相关。你试过什么?出什么事了?你可以先尝试创建一个最小的程序:只需输入两个数字,加上它们,然后尝试提取最后一个数字。一路上你肯定会注意到一些重要的事情。要提取最后一个数字,如果数字表示为整数或字符串,您将如何处理?最方便的是什么?继续@模运算符
    %
    给出除法问题的余数(而不是商)。你能找到只保留一位数的正确模吗?好的,那么你当前的代码有什么问题吗?您是否尝试将问题的基本部分(添加并保留最后一位数字)中的任何内容包含到代码中?看着它,它会给人一种印象,你还没有尝试过类似的东西,你希望我们做必要的工作。恳求