将文本翻译成瑞典语的Python程序

将文本翻译成瑞典语的Python程序,python,Python,我刚刚接触python,我试图编写这个程序,但出现了一个错误,我无法解决它 我在互联网上看过一些其他的程序来执行这个,但它们都有一些不同的逻辑 这里我想的逻辑是,如果字符串a中的任何一个字母是元音,那么我将按原样存储在字符串b中,如果它是辅音,那么我将在它后面附加三个字母 我知道我把绳子弄错了,但我还是没办法弄明白 该计划是:- a = "" b = "" def translate(a): for i in a: if (i == 'a' or i == 'e' o

我刚刚接触python,我试图编写这个程序,但出现了一个错误,我无法解决它

我在互联网上看过一些其他的程序来执行这个,但它们都有一些不同的逻辑

这里我想的逻辑是,如果字符串a中的任何一个字母是元音,那么我将按原样存储在字符串b中,如果它是辅音,那么我将在它后面附加三个字母

我知道我把绳子弄错了,但我还是没办法弄明白

该计划是:-

a = ""
b = ""


def translate(a):
    for i in a:
        if (i == 'a' or i == 'e' or i == 'i' or i == 'o' or i == 'u'):
            b = b + i
        else:
            b = b + i
            b = b + "o"
            b = b + i
          #  b.append("   ")
          #  b[-3] = b[-1] = i
          #  b[-2] = 'o'
    return b
a = input("Enter a string in English : ")
a = a.lower()
string = translate(a)
print("The Sring in spanish language is ", string)
此程序中的错误是:-

amitwebhero@AmitKali:~/python/python_home_work$ python3.5 5.py 
Enter a string in English : amit upadhyay
Traceback (most recent call last):
  File "5.py", line 19, in <module>
    string = translate(a)
  File "5.py", line 8, in translate
    b = b + i
UnboundLocalError: local variable 'b' referenced before assignment
amitwebhero@AmitKali:~/python/python\u home\u work$python3.5.py
输入英文字符串:amit upadhyay
回溯(最近一次呼叫最后一次):
文件“5.py”,第19行,在
字符串=翻译(a)
翻译文件“5.py”,第8行
b=b+i
UnboundLocalError:赋值前引用了局部变量“b”
Thank's

分配前引用的局部变量“b”的哪一部分不清楚?在变量
b
获得值之前,您正在使用它

如果您想修改全局变量
b
,请像这样使用
global b

def translate(a):
   global b
   ....

在谷歌上搜索你的错误消息让我得到了12000次点击-很难相信没有一次能帮到你…@jornsharpe,实际上我是python新手,我在搜索逻辑,所以我无法找出错误。。。现在我明白了。。。如果你能推荐我一本学习python的好书,那么我会感谢你。@Amit Upadhyay你可能只是想把
b=“”
移到函数的范围内:
def translate(a):b=“”,因为我在a: