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

2024-04-29 15:32:53 发布

您现在位置:Python中文网/ 问答频道 /正文

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

这是说明:

  1. “项链问题”。项链问题从两个一位数开始。这个 下一个数字是将前两个数字相加,只保存一位数。重复此过程,直到“项链”恢复到原来的两条项链为止 数字。例如,如果起始编号为1和8,则需要十二个步骤才能关闭 “项链”。
    示例1,8->;18976392134718<;-14个步骤
    您的程序将显示起始编号、结束编号、步数和 整个“项链”

这是我目前的代码:

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

Tags: ltgt程序示例number内容input过程
3条回答

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

from typing import List

def make_necklace(a: int, b: int) -> List[int]:
    necklace = [a, b]

很容易得出下一个数字:

    # we don't really know when we'll leave the loop, so loop forever and handle it later
    while True:
        # add the last two elements and modulo by 10 to keep only the 1s digit
        next_link = (necklace[-1] + necklace[-2]) % 10
        necklace.append(next_link)

但要想知道什么时候该停下来就更难了。停止条件是什么?当最后两个元素与前两个元素相同时?等等:我们可以比较列表元素,对吗?让我们这样做吧

        if necklace[0:2] == necklace[-2:]:
            break  # leave the infinite loop

我们一出去,就把项链还给你

    return necklace

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

要回答问题而不泄露整个问题,请执行以下操作:

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

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

更多关于模here的信息

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]

代码是不言自明的。

相关问题 更多 >