繁体   English   中英

如何解决此“未找到子字符串”错误?

[英]How can I solve this 'substring not found' error?

所以,我希望用户输入他的名字和姓氏,然后这两个词将每隔一个字母相互替换。

def translate(ime,prez):
    translated_i = ""
    translated_p = ""
    if len(ime) >= len(prez):
        for letter in prez:
            if prez.index(letter) != 0:
                translated_p = translated_p + ime[prez.index(letter)]
                if prez.index(letter) >= len(prez)-1:
                    translated_i = translated_i + ime[prez.index(letter):]
                else:
                    translated_i = translated_i + prez[ime.index(letter)]
        else:
            translated_p = translated_p + letter
            translated_i = translated_i + ime[prez.index(letter)]
    elif len(prez) > len(ime):
        for letter in ime:
            if ime.index(letter) != 0:
                translated_i = translated_i + prez[ime.index(letter)]
                if prez.index(letter) >= len(prez)-1:
                    translated_p = translated_p + prez[ime.index(letter):]
                else:
                    translated_p = translated_p + ime[prez.index(letter)]
            else:
                translated_i = translated_i + letter
                translated_p = translated_p + prez[ime.index(letter)]
    return translated_i + " " + translated_p
    x = input("Name: ")
    y = input("Last name: ")

    print(translate(x,y))

但是有一个错误说:'ValueError: substring not found'

根据文档,如果未找到子字符串, index函数会引发ValueError 因此,您可以将代码包装在try/except块中,而不是检查if ime.index(letter) != 0 例如:

try:
    letter_index = ime.index(letter)
    # your logic if substring found
except ValueError as ex:
    # logic if substring not found

它为我工作

代码:

def translate(ime,prez):
    translated_i = ""
    translated_p = ""
    if len(ime) >= len(prez):
        for letter in prez:
            if prez.index(letter) != 0:
                translated_p = translated_p + ime[prez.index(letter)]
                if prez.index(letter) >= len(prez)-1:
                    translated_i = translated_i + ime[prez.index(letter):]
                else:
                    translated_i = translated_i + prez[ime.index(letter)]
        else:
            translated_p = translated_p + letter
            translated_i = translated_i + ime[prez.index(letter)]
    elif len(prez) > len(ime):
        for letter in ime:
            if ime.index(letter) != 0:
                translated_i = translated_i + prez[ime.index(letter)]
                if prez.index(letter) >= len(prez)-1:
                    translated_p = translated_p + prez[ime.index(letter):]
                else:
                    translated_p = translated_p + ime[prez.index(letter)]
            else:
                translated_i = translated_i + letter
                translated_p = translated_p + prez[ime.index(letter)]
    return translated_i + " " + translated_p

x = input("Name: ")
y = input("Last name: ")

print(translate(x,y))

SS: 在此处输入图片说明

我复制粘贴了您的代码,除了缩进错误之外,一切正常。 我建议您将缩进修复为:

def translate(ime,prez):
    translated_i = ""
    translated_p = ""
    if len(ime) >= len(prez):
        for letter in prez:
            if prez.index(letter) != 0:
                translated_p = translated_p + ime[prez.index(letter)]
                if prez.index(letter) >= len(prez)-1:
                    translated_i = translated_i + ime[prez.index(letter):]
                else:
                    translated_i = translated_i + prez[ime.index(letter)]
        else:
            translated_p = translated_p + letter
            translated_i = translated_i + ime[prez.index(letter)]
    elif len(prez) > len(ime):
        for letter in ime:
            if ime.index(letter) != 0:
                translated_i = translated_i + prez[ime.index(letter)]
                if prez.index(letter) >= len(prez)-1:
                    translated_p = translated_p + prez[ime.index(letter):]
                else:
                    translated_p = translated_p + ime[prez.index(letter)]
            else:
                translated_i = translated_i + letter
                translated_p = translated_p + prez[ime.index(letter)]
    return translated_i + " " + translated_p
x = input("Name: ")
y = input("Last name: ")

print(translate(x,y))

并将其复制粘贴到另一个文件中。 如果您遇到另一个错误并且您使用的不是 IDLE 的文本编辑器,请尝试 IDLE 中的代码。

如何解决错误:不支持的格式,或损坏的文件:预期的 BOF 记录; 找到 b'<div id="text_translate"><p> 当我运行此代码时显示此错误不支持的格式或损坏的文件:预期的 BOF 记录; 找到 b'</p><p> 数据: <a href="https://github.com/DevangBaroliya/DataSet/blob/master/DistrictWiseReport20200607.xlsx" rel="nofollow noreferrer">https://github.com/DevangBaroliya/DataSet/blob/master/DistrictWiseReport20200607.xlsx</a></p><pre> import pandas as pd data = pd.read_excel('DistrictWiseReport.xlsx') data</pre> </div><table c'< div></table>

[英]How Can I Solve Error : Unsupported format, or corrupt file: Expected BOF record; found b'<table c'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM