#!/usr/bin/python3
import argparse
vokaler = "aouåeiyäöAOUÅEIYÄÖ"
konsonanter = "bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ"
def viskspraket(text):
"""Removes all vowels from the sentence"""
return "".join([x if x not in vokaler else "" for x in text])
def rovarspraket(text):
"""Consonants are doubled and "o" is put inbetween them"""
return "".join([x + "o" + x if x in konsonanter else x for x in text])
parser = argparse.ArgumentParser()
parser.add_argument("-r", help="rovarspraket", action="store_true")
parser.add_argument("-v", help="viskspraket", action="store_true")
args = parser.parse_args()
textFromTerminal = input()
print(textFromTerminal)
if args.r:
print(rovarspraket(textFromTerminal))
elif args.v:
print(viskspraket(textFromTerminal))
在我的任务中,练习的一部分是使用以下命令从bash终端执行此python脚本:
$ echo "The landlubbers are trying to sink us with their canons." |./translation.py -r
其中“-r”是我在标题中提到的调用参数。我已经解决了这部分问题,并在bash works中运行了它。 但问题的下一部分是我应该从bash终端翻译已经翻译的字符串,例如“viskspraket”,而不复制和粘贴翻译的字符串
在我的translation.py文件中有更多的函数,我应该能够在所有函数之间自由转换,而无需复制和粘贴,但是我认为两个函数应该足以说明这个问题
因此,例如-r-v或类似的东西应该首先将字符串翻译成“rovarspraket”,然后使用翻译后的字符串并使用“viskspraket”再次翻译它
因为总共有五个函数(现在文件中只显示了两个),所以使用如下方法:
parser.add_argument("-rv", help="rovarspraketToviskspraket", action="store_true")
elif args.rv:
print(viskspraket(rovarspraket(textFromTerminal))
因为所有可能的翻译都是不可行的,因为有太多的组合。所以我的问题是: 我该怎么做呢?一般来说,我对bash非常缺乏经验。我也很抱歉瑞典函数名,但我希望它是明确的
目前没有回答
相关问题 更多 >
编程相关推荐