【发布时间】:2012-10-15 16:18:19
【问题描述】:
我正在尝试编写一个执行以下操作的程序:
在这个程序中,我们打印出i**q % p线上i线上的字母
例如,如果q=2 和p=12 那么我们要打印:
1**2 % 12 = 1
2**2 % 12 = 4
3**2 % 12 = 9
4**2 % 12 = 4
5**2 % 12 = 1
...所以输出的前五行将是:
a
bcde
fghijklmn
opqr
s
在我的例子中,确定字符数的函数是(i**2)%9,但它是相同的想法。
具体任务如下:
“使用字母 a-z 依次打印出 1834 行,这样行号 i 将使用 (i**2 ) % 9 字母。用于打印行 1834 的第一个字母是:_________”
我已经开始编码,我有两个主要问题。
首先,一旦我到达“z”(或更可能是“第 25 位”),如何让字母重新开始?
另外,我应该为程序做什么?到目前为止,我有:
letters="abcdefghijklmnopqrstuvwxyz"
for i in range[1,1834]:
x=((i**2)%9)
print(letters[])
...但我不知道该怎么做。我打算尝试切片方法,但我不知道。任何意见将不胜感激。
【问题讨论】:
-
仅供参考:
pow(x, y, z)等同于(x**y)%z,但速度更快(尤其是在x**y非常大的情况下)。
标签: python python-3.x repeat alphabet