导入创建的模块并打印它

问题描述 投票:-1回答:1

我创建了一个名为method.py的模块,其中包含以下代码:(第一个def使大小写混合的字母变为小写,第二个变为大写)

def LWR():
    result=""
    for i in range(0,len(s)):
        value = ord(s[i])
        if value>64 and value<91):
            result+=chr(value+32)
        else:
            result+=chr(value)
    s=result
    print(s)
    return


def TTL():
    ssplit = s.split()
    small_a = ord("a") 
    small_z = ord("z")

    cap_a = ord("A")   

    delta = small_a - cap_a

    for z in ssplit :  
        if small_a <= ord(z[0]) <= small_z:
            l = chr(ord(z[0])-delta)
            new = l + z[1:]            
            print(new, end=" ") 
        else:
            print(s)
    return

然后我打开一个新文件并执行此操作:

import smethod
s = input("Enter your string")
print("The lowercase version is:" ,smethod.LWR)
print("Title version is: ",smethod.TTL)

============= RESTART: /Users/ezgibahadir/Documents/smethod2.py =============
enter your stringezgi bahadır
The lowercase version is: <function LWR at 0x1111b28c0>
Title version is:  <function TTL at 0x1111413b0>

原因是什么?

python-3.x syntax module return-value python-import
1个回答
0
投票

[很多方面有待改进。

  • 您说您叫文件method.py,为什么要导入smethod
  • 您的函数LWR和TTL不接受任何参数。他们两个都引用ss哪里来的?
  • 即使他们工作了,也不要给他们打电话。您需要执行method.LWR()
  • 您已经声明这是Python3,但您正在使用Python2之类的打印功能。

其他一些问题:

  • 将函数名称设置为3个字母的大写代码不是python方式。称它们为to_lowerto_upper或其他名称。
  • 鉴于此过程非常普通,这两个功能都在标准库中提供,您甚至不需要单独的功能。

您可以做:

import smethod
s = input("Enter your string")
print(f"The lowercase version is: {s.lower()}")
print(f"Title version is: {s.upper()}")
© www.soinside.com 2019 - 2024. All rights reserved.