簡體   English   中英

在 python 中實現 rot13

[英]Implementing rot13 in python

我正在嘗試實現 rot13 算法。 顯然不難,但我的問題是在 python 中帶有撇號的字符串我不知道如何解決這個問題。 我不確定問題是出在我的程序上還是出在 python 的運行方式上,因為我嘗試運行一個像“python3 solve.py '”這樣的空程序,但它沒有運行,但在終端中給了我一個 >。 如果有人看到其他錯誤,我也會在下面添加我的代碼。 通過空程序,我只是調用一個什么都不做的主程序。

import sys


def main(input):
    output = ""
    abc = "abcdefghijklmnopqrstuvwxyz"
    ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

    for i in input:
        if ord(i) in range(65,91):
            output += ABC[((ABC.find(i) + 13) % 26)]
        elif ord(i) in range(97,123):
            output += abc[((abc.find(i) + 13) % 26)]
        else:
            output += i
    return output

if __name__ == '__main__':

    result = main(sys.argv[1])

    print(result)

單撇號用作引用字符串的開頭,可能是多行字符串,這就是您看到>提示的原因。 也可以發送一個撇號,您可以轉義它或用雙引號將其引用:

$ python solve.py \'
'
$ python solve.py "'"
'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM