(1)数字对称金字塔显示,输入n(n<10),显示数字对称金字塔的前n行,程序运行效果如下。 n=6 1 121 12321 1234321 123454321 12345654321 (2)输入整数n(n<10),求前n个同构数(一整数若正好为其平方数的尾部,则称该数为同构数,例如,5正好是25的尾部,故5为同构数),程序运行效果如下。 提示:若str(i*i).endswith(str(i))为真,则i为同构数。 n=6 NO1:5 NO2:6 NO3:25 NO4:76 NO5:376 NO6:625 (3) 文本加密。输入一行字符,试按照以下加密规则对其加密后输出其密文形式(加密规则:字母A-Z,B-Y,C-X....a-z,b-y,c-x...,数字0-9,1-8,2-7...其他字符保持不变),程序运行效果如下。 提示:由于ord("A")+ord("Z")=ord("B")+ord("Y")=...=155, 则大写字母x的密文形式应该为chr(155-ord(x)) 输入一行字符:123,Up,I Love you China! 加密后的密文:876,Fk,R Olev blf Xsrmz!
时间: 2024-03-10 11:43:59 浏览: 166
以下是三道题目的Python代码实现:
(1) 数字对称金字塔显示
```python
n = int(input("请输入数字n(n<10): "))
for i in range(1, n+1):
s = ""
for j in range(1, i+1):
s += str(j)
for k in range(i-1, 0, -1):
s += str(k)
print(s.center(n*2-1))
```
(2) 求前n个同构数
```python
n = int(input("请输入数字n(n<10): "))
count = 0
i = 1
while count < n:
if str(i*i).endswith(str(i)):
count += 1
print("NO{0}:{1}".format(count, i))
i += 1
```
(3) 文本加密
```python
s = input("请输入一行字符: ")
encrypted = ""
for c in s:
if c.isalpha():
if c.isupper():
encrypted += chr(155-ord(c))
else:
encrypted += chr(219-ord(c))
elif c.isdigit():
encrypted += chr(105-ord(c))
else:
encrypted += c
print("加密后的密文: " + encrypted)
```
阅读全文