2018.4.11(Python)星號三角形 // 愷撒密碼 I

讀入一個整數N,N是奇數,輸出由星號字符組成的等邊三角形,要求:

第1行1個星號,第2行3個星號,第3行5個星號,依次類推,最後一行共N的星號。

示例

 輸入 :5

 輸出:

  *  
 *** 

*****

n=eval(input())
for i in range(n):
    number=(1+2*i)                              //星號數
    print((number*'*').center(n," "))       //用字符串處理函數將星號居中
    if(1+2*i)==n:

        break



描述

凱撒密碼是古羅馬凱撒大帝用來對軍事情報進行加解密的算法,它採用了替換方法對信息中的每一個英文字符循環替換爲字母表序列中該字符後面的第三個字符,即,字母表的對應關係如下:

原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

對於原文字符P,其密文字符C滿足如下條件:C=(P+3) mod 26

上述是凱撒密碼的加密方法,解密方法反之,即:P=(C-3) mod 26

假設用戶可能使用的輸入僅包含小寫字母a~z和空格,請編寫一個程序,對輸入字符串進行凱撒密碼加密,直接輸出結果,其中空格不用進行加密處理。使用input()獲得輸入。


p=input()                                        #獲取輸入
for i in p:                                         # i在輸入中循環
    if ord("a")<=ord(i)<=ord("z"):    #用Unicode碼判斷輸入是否爲a~z的字母  然後加密
        n=ord(i)+3
        if n>ord("z"):
            n=n-26
            print(chr(n),end='')
        else:
            print(chr(n),end='')
    else:
         print(end = ' ')                       #若不是a~z的字母,則爲空格 直接輸出空格


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章