在Python中,用于字符串的if语句?

16 浏览
0 Comments

在Python中,用于字符串的if语句?

我是一个完全的初学者,一直在查看http://en.wikibooks.org/wiki/Python_Programming/Conditional_Statements,但是我无法理解这里的问题。问题很简单,如果用户输入y,它应该打印\"this will do the calculation\",但是我在IF answer==\"y\"这一行出现了语法错误。\n代码如下:\nanswer = str(input(\"Is the information correct? Enter Y for yes or N for no\"))\nproceed=\"y\" or \"Y\" \n如果answer==proceed:\n print(\"this will do the calculation\")\nelse:\n exit()

0
0 Comments

问题的原因是Python是大小写敏感的语言,所有的Python关键字都是小写的。因此在使用if语句时应该使用if而不是If。

另外,在调用print()之后不要加冒号。同时,要缩进print()和exit()函数的调用,因为Python使用缩进来表示代码块,而不是用括号。

此外,proceed = "y" or "Y"不能实现你想要的效果。应该使用proceed = "y"和if answer.lower() == proceed:,或者类似的方法。

还有一点是,只要输入值不是单个字符"y"或"Y",你的程序就会退出,这与提示中的"N"相矛盾。在那里不要使用else子句,而是使用elif answer.lower() == info_incorrect:,在此之前要定义info_incorrect = "n"。然后如果输入值是其他的,就重新提示用户输入。

解决方法是参考Python文档中的教程,如果你在当前的学习方式下遇到这么多问题,我建议你阅读Python文档中的教程。

关于proceed = "y" or "Y"的问题,因为"y"的布尔值是True,所以proceed = "y" or "Y"的结果只是将"y"赋值给proceed,而没有考虑大写的情况。Daniel使用in运算符的用法很好。

抱歉,在你编辑帖子之前我已经添加了那部分内容 🙂

0
0 Comments

在Python中,如果要判断字符串的条件,应该使用if而不是If。此外,代码中的raw_input()应该替换str(input())。此问题的解决方法是将if的大小写改为小写,并将str(input())替换为raw_input()函数。

下面是修复后的代码示例:

answer = raw_input("Is the information correct? Enter Y for yes or N for no")
if answer.upper() == 'Y':
    print("this will do the calculation")
else:
    exit()

注意,代码缩进在Python中非常重要,因为它标志着一个代码块。

还有一个错误是,在print("this will do the calculation")后面的冒号应该去掉。这个错误已经被修复了。

最后,这个问题的出现可能是因为一些人在学习或使用Python时不小心将if的大小写写错了,或者混淆了raw_input()str(input())函数的使用。不过,这个问题仍然存在七年之久,说明仍然有人在使用这种错误的写法。

0
0 Comments

在Python中,如果要对字符串进行条件判断,使用if语句是常见的做法。然而,有时候即使修正了代码中大小写错误的if语句和错误的缩进,代码仍然无法按照预期工作。为了检查一个字符串是否属于一组字符串,可以使用in关键字。以下是两种解决方法:

第一种方法是将待检查的字符串与一个包含所有可能匹配的字符串的列表进行比较。代码如下:

if answer in ['y', 'Y', 'yes', 'Yes', 'YES']:
    print("this will do the calculation")

第二种方法是先将待检查的字符串转换为小写,然后再与一个只包含小写字符串的列表进行比较。代码如下:

if answer.lower() in ['y', 'yes']:
    print("this will do the calculation")

需要注意的是,原始的代码中缩进有误。此外,代码中使用了错误的输入函数`str(input())`,正确的函数应该是`raw_input()`。不过这取决于他使用的Python版本,如果使用的是Python 3.x,则`str(input())`是多余的。

这个问题的解决方法可以帮助我们正确地对字符串进行条件判断,避免出现错误。

0