python代码编程题目描述 小鱼记性很差,差到只能够记住6个数字。如果你告诉了他七个数字,那么他只记得你说的最后6个数字,即他会忘记第一个数字。 现在让你来编写一个程序,来模拟小鱼的记忆情况。 输入若干行,每行只有一个正整数,最后一个数字小于等于0时,代表记忆过程结束(最后的这个非正数不记忆),记忆结束后需要按输入的顺序输出记住的数字。 输入 若干行,每行只有一个数字。 输出 一行,表示小鱼记住的所有数字,各数字之间以空格作间隔,数量不超过6个。 输入样例1 1 2 3 4 5 6 7 8 9 0 输出样例1 4 5 6 7 8 9 输入样例2 1 2 3 4 0 输出样例2 1 2 3 4 样例解释 样例2解释: 在0这个代表结束的字符之前,只有四个数字,不足六个,因此,小鱼也只记住了4个数字。
时间: 2023-05-31 19:03:31 浏览: 70
# 方法一:使用列表模拟记忆过程,超过6个数字时删除第一个数字
mem = []
while True:
n = int(input())
if n <= 0:
break
mem.append(n)
if len(mem) > 6:
mem.pop(0)
print(*mem)
# 方法二:使用双端队列deque,超过6个数字时从队列左侧弹出一个数字
from collections import deque
mem = deque()
while True:
n = int(input())
if n <= 0:
break
mem.append(n)
if len(mem) > 6:
mem.popleft()
print(*mem)
相关问题
将两个字符串中的数字提取出来作差,用Python代码实现
可以使用正则表达式将字符串中的数字提取出来,然后进行计算。下面是一个简单的Python代码实现:
```python
import re
s1 = "hello 123 world"
s2 = "hello 456 world"
# 使用正则表达式提取数字
num1 = int(re.findall("\d+", s1)[0])
num2 = int(re.findall("\d+", s2)[0])
# 计算差值
diff = num1 - num2
print(diff) # 输出结果为 -333
```
以上代码中,使用正则表达式 `\d+` 匹配字符串中的数字,并使用 `re.findall` 方法返回一个包含所有匹配项的列表。由于本例中只有一个数字,所以直接使用 `[0]` 取出列表中的第一个元素。最后将两个数字相减得到差值。
写出:一个会告诉你你输入的数字在序列中的位置的程序的python运行代码
以下是一个简单的Python程序,它可以告诉您输入的数字在序列中的位置:
```python
# 定义一个序列
sequence = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
# 获取用户输入的数字
number = int(input("请输入一个数字: "))
# 查找数字在序列中的位置
position = sequence.index(number)
# 输出结果
print(f"数字 {number} 在序列中的位置是 {position}。")
```
在这个程序中,我们首先定义了一个名为 `sequence` 的序列,其中包含一些数字。然后,我们使用 `input()` 函数获取用户输入的数字,并使用 `index()` 方法查找该数字在序列中的位置。最后,我们使用 `print()` 函数输出结果。