python输入字母错误怎样修改_Python添加异常(已编辑)

这是一个简单的程序,我正在学习python,因为我是初学者。如果用户输入其他的y,y,n,N,我将如何添加异常。我到处搜索,但似乎无法找到什么例外使用?感谢大家的帮助。

编辑:我调整了我的代码。唯一不起作用的是

if(welcomeString.strip()。lower()!='n'或'y'):

welcomeString = input('不是一个有效的选择\ n您是否想要反转一个字符串?(y / n):')。

它没有实现y或n中的用户类型。但它适用于其他字母。

编辑2:一切都按预期工作,直到用户第二次键入无效输入。第一次它会说“不是有效的选择”,但第二次,该程序将退出。

import sys

welcomeString = input('Welcome to String Reverser\nWould you like to reverse a string?(y/n)')

if not welcomeString.strip().lower() in ['n','y']:

welcomeString = input('Not a valid choice\nWould you like to reverse a string?(y/n):')

if welcomeString.strip().lower() == 'n':

print("Thanks for using String Reverser")

while welcomeString.strip().lower() == 'y':

myString = input("What string would you like to reverse?:")

ReverseString = myString[::-1]

print (("Your Reversed String is %s") % ReverseString)

welcomeString = input("Would you like to reverse another string(y/n)")

本关任务:编写一个无参无返回值函数的小程序。 相关知识 为了完成本关任务,你需要掌握: 无参无返回值函数 无参无返回值函数 定义一个无参数、无返回值的函数 print_hi_human(),调用函数时可以让计算机向世界发出问候,在函数中输出“人类,你好!”。 无返回值函数一般在函数内部会有输出语句或绘图语句,函数的返回值是 None,在调用函数时不需要使用赋值语句或是 print()函数。 代码示例: print("Hello world") 编程要求 根据提示,在右侧编辑器补充代码,完善一个无参无返回值函数的程序。 测试说明 平台会对你编写的代码进行测试: 输入:无 输出: 人类,你好! def print_hi_human(): # 函数名用小写字母 """文档注释,双引号,说明函数的参数、功能和返回值等。 定义一个名为print_hi_human的无参数函数,其功能是打印一句问候语, 这个函数没有return语句,即没有返回值,或者说其返回值为None。 # >>> print_hi_human() # 人类,你好! """ # ==================Begin===================================== # 此处去掉注释符号“#”并补充你的代码 # ===================End==================================== if __name__ == '__main__': # 直接使用函数名来调用函数 # ==================Begin===================================== # 此处去掉注释符号“#”并补充你的代码 # ===================End====================================
最新发布
04-21
<think>好的,我现在需要帮助用户解决如何编写一个无参无返回值的Python函数的问题。用户之前已经提供了相关的引用和示例,我需要仔细分析这些信息,并确保回答符合用户的需求。 首先,用户的目标是创建一个名为print_hi_human的函数,这个函数不需要参数,也没有返回值,功能是输出“人类,你好!”。根据用户提供的引用[1],正确的函数定义应该是: def print_hi_human(): print("人类,你好!") 然后,在引用中还提到了使用if __name__ == '__main__':来调用函数,这可以确保当脚本直接运行时才会执行函数调用,而不是在作为模块导入时执行。因此,正确的调用方式是在主程序入口处调用。 接下来,我需要检查用户之前的回答,确保没有遗漏任何关键点。之前的回答详细解释了函数定义的结构、调用方式、注意事项以及常见错误。用户现在可能希望得到一个更简洁、直接的实现步骤,同时可能需要避免之前提到的常见错误,比如遗漏括号或缩进错误。 用户还可能关心代码的正确性和是否符合Python的命名规范。例如,函数名应该使用小写字母,并遵循适当的命名约定。在引用[2]中提到了方法名的规范,即第一个单词首字母小写,其他单词首字母大写,但Python通常使用下划线分隔的小写字母,如print_hi_human,这也符合PEP8的命名规范。 此外,用户可能希望代码能够直接运行,不需要额外的输入,并且输出结果符合预期。因此,确保print语句中的字符串正确无误,并且函数被正确调用是关键。 可能的疑问点:用户是否需要在函数内部处理其他逻辑?根据需求,函数只需要输出特定字符串,因此不需要其他操作。是否需要处理编码问题?在Python3中,默认使用UTF-8,中文字符可以直接输出,不会有问题。 最后,需要验证代码的正确性,确保在测试时能够正确输出“人类,你好!”,并且没有语法错误。同时,提醒用户注意缩进,因为在Python中缩进是语法的一部分,错误的缩进会导致IndentationError。 总结步骤: 1. 定义函数print_hi_human(),使用正确的语法和缩进。 2. 在函数体内使用print语句输出指定字符串。 3. 在主程序入口调用函数,确保脚本直接运行时执行。 检查是否存在常见错误,如缺少括号、缩进错误或函数调用顺序错误。确保所有细节都符合用户的需求和提供的引用内容。</think>### 分步实现无参无返回值函数 #### 1. **定义函数结构** ```python def print_hi_human(): """无参数、无返回值的问候函数""" print("人类,你好!") # 函数主体功能 ``` - **关键说明** ① 使用`def`关键字定义函数 ② 函数名遵循小写字母+下划线命名规范(引用[2][^1]) ③ 必须保留空括号`()`(无参数特征) ④ 缩进4个空格定义函数体(Python强制语法) --- #### 2. **添加主程序调用** ```python if __name__ == '__main__': print_hi_human() # 脚本直接运行时触发调用 ``` - **功能验证** 直接运行代码时输出: ``` 人类,你好! ``` --- #### 3. **完整可执行代码** ```python # 定义无参无返回值函数 def print_hi_human(): print("人类,你好!") # 主程序入口 if __name__ == '__main__': print_hi_human() ``` --- ### 关键验证点对比表 | **操作** | **正确代码表现** | **错误代码表现** | **调试建议** | |-----------------------|--------------------------|-----------------------------|-------------------------------| | 函数调用 | 输出目标字符串 | 无输出 | 检查是否遗漏函数调用语句 | | 参数传递 | 不接收任何参数 | `TypeError`(带参数调用) | 确保调用时使用`()`不带参数 | | 缩进格式 | 函数体严格缩进4空格 | `IndentationError` | 使用IDE自动缩进功能 | | 函数命名 | 小写字母+下划线 | PEP8规范警告 | 避免使用驼峰命名法如`printHiHuman` | --- ### 扩展应用场景 1. **批量问候** ```python for _ in range(3): print_hi_human() # 连续输出3次 ``` 2. **结合异常处理** ```python try: print_hi_human() except Exception as e: print(f"函数执行失败:{e}") ``` --- ### 常见问题解答 1. **为何不用`return`语句?** 无返回值函数默认返回`None`,无需显式声明(引用[1][^2]) 2. **能否省略`if __name__ == '__main__'`?** 可以,但会导致模块被导入时自动执行函数(不推荐) 3. **如何验证无返回值特性?** ```python result = print_hi_human() print(result) # 输出:None ``` --- ### 相关问题 1. 如何修改函数使其输出不同语言版本的问候语? 2. Python中`__name__`变量的作用是什么? 3. 无参函数与有参函数在调用时的区别? 4. 为什么说`print()`本身也是有返回值的函数? [^1]: 函数命名需符合小写字母+下划线规范 [^2]: 无返回值函数默认返回`None`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值