【发布时间】:2019-07-17 02:00:08
【问题描述】:
我尝试执行 4 个步骤,向用户询问“关键字符”和字符串,然后将字符串大写,然后从字符串中删除关键字符的所有实例。这些步骤中的每一个都应该是它自己的功能。但是,第 3 步和第 4 步依赖于访问位于第 1 步和第 2 步的函数中的变量。
我已经阅读了一些关于此的主题,例如以下... How to access the variables declared inside functions in python ...这表明您必须在定义变量后“返回”变量,但我已经这样做了(我认为)并且它没有改变任何东西。
def main():
get_key_character()
get_string()
sentence_capitalizer()
remove_key_character()
def get_key_character():
key_character=str(input("Please enter a SINGLE character to act as key? "))
if len(key_character)!=1:
get_key_character()
else:
return key_character
def get_string():
phrase_input=str(input("Please enter a phrase or sentence >=4 and <=500 characters: "))
if len(phrase_input) <4 or len(phrase_input)>500:
get_string()
else:
return phrase_input
def sentence_capitalizer():
import re
sentence_capitalized=(re.sub(r"(^|\?|\.|\!)\s*(\w)", lambda q: q[0].upper(), phrase_input))
return sentence_capitalized
def remove_key_character():
sentence_capitalized.replace(key_character, "")
main()
错误:def sentence_capitalizer 中未定义名称短语输入和 def remove_key_character 中未定义名称 key_character
【问题讨论】:
-
您需要将返回的值分配到一个变量中,并在每种情况下将其传递给下一个函数
-
花点时间了解参数和从函数返回值。
标签: python