创建模块,然后导入所述模块

时间:2018-11-06 22:55:44

标签: python import module

我正在尝试创建一个模块并将其导入另一个程序。 我对该模块的任务是:

  • 接受字符串
  • 有一个文档字符串解释其作用
  • 返回字符串参数中有多少个字母的计数

我能够创建模块,并且认为它应该返回正确的计数,但是我在将其实现到原始代码时遇到了麻烦,或者新模块文件中的代码是也是错误的。

这是原始文件中的代码:

# Program for Determining Palindromes

import stack
import letterCount
from letterCount import countLetters

# welcome
print ('This program can determine if a given string is a palindrome\n')
print ('(Enter return to exit)')

# init
char_stack = stack.getStack()
empty_string = ''

# get string from user
chars = input('Enter string to check: ')

while chars != empty_string:
    if len(chars) == 1:
        print('A one letter word is by definition a palindrome\n')
    else:
        # init
        is_palindrome = True

        # determine half of length. excluding any middle character
        compare_length = len(chars) // 2

        # push second half of input string on stack
        for k in range(compare_length, len(chars)):
            stack.push(char_stack, chars[k])

        # pop chars and compare to first half of string
        k = 0
        while k < compare_length and is_palindrome:
            ch = stack.pop(char_stack)
            if chars[k].lower() != ch.lower():
                is_palindrome = False

            k = k + 1

        # display results
        if is_palindrome:
            print (chars, 'is a palindrome\n')
            print (
        else:
            print (chars, 'is NOT a palindrome\n')

    # get string from user
    chars = input('Enter string to check: ')

这是我创建的模块的代码:

def countLetters(chars):
    """this function keeps track of the longest palindrome"""
    palinlen = len(chars)

    print("This Palindrome is ",palinlen," characters long!")

我到底想念什么?任何帮助都将非常感谢

1 个答案:

答案 0 :(得分:1)

您无法真正调用已导入的函数。

关于您问题的评论已经对此进行了解释,但需要更详细一些:

说我们有2个文件,一个是我的“模块”,另一个是我的项目(这是一个无用的示例,顺便说一句)

#Module file, moduleFoo.py
def foo(bar):
    print(bar)

#Project file
import moduleFoo
moduleFoo.foo("Some wild stuff")

在项目文件的最后一行,我们调用调用我们在模块文件中的功能

这也可以做到:

from moduleFoo import foo
foo("Some wild stuff")