如何通过Python的input函数获取返回值?技术求助
解决input返回值的类型匹配问题
你的代码核心问题是input()函数默认返回字符串类型,但你在判断逻辑里用它和整数100、200做比较,类型不匹配导致两个if分支都不会触发。下面给你两种修改方案:
方案一:将输入转换为整数(推荐,支持后续数值操作)
把输入的字符串转成整数,同时添加异常处理,避免用户输入非数字内容时程序报错:
def bike_wash(amount): print("Welcome to your bike wash") print("Please enter your desired wash") if amount == 100: print("Thanks for choosing basic wash") print("Enjoy water wash with spray") elif amount == 200: print("Thanks for choosing Premium wash") print("Enjoy foam wash to the entire body") else: print("Invalid amount, please enter 100 or 200") try: amount = int(input("Enter wash amount: ")) bike_wash(amount) except ValueError: print("Please enter a valid number")
方案二:将判断条件改为字符串比较
如果不需要对amount做数值计算,直接把判断里的整数改成字符串即可:
def bike_wash(amount): print("Welcome to your bike wash") print("Please enter your desired wash") if amount == "100": print("Thanks for choosing basic wash") print("Enjoy water wash with spray") elif amount == "200": print("Thanks for choosing Premium wash") print("Enjoy foam wash to the entire body") else: print("Invalid amount, please enter 100 or 200") amount = input("Enter wash amount: ") bike_wash(amount)
另外建议把两个独立的if改成elif(避免逻辑冗余),同时新增else分支处理无效输入的情况,让程序更健壮。
内容的提问来源于stack exchange,提问作者Nitin Srivastav
相关产品推荐
相关产品推荐

