我正在尝试创建一个模块并将其导入另一个程序。 我对该模块的任务是:
我能够创建模块,并且认为它应该返回正确的计数,但是我在将其实现到原始代码时遇到了麻烦,或者新模块文件中的代码是也是错误的。
这是原始文件中的代码:
# 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!")
我到底想念什么?任何帮助都将非常感谢!
答案 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")