当您将变量定义为str()时,就是将它们分配给一个空字符串(尝试在命令shell或IDLE中运行str(),然后查看其返回值)。在
然后,使用input()函数,您将为某些字符串重新定义变量,并且在if语句中,您将使用这些比较运算符比较字符串!当比较字符串时,它所做的是检查字符串的第一个字符!因此,以“b”开头的字符串比以“a”开头的字符串大,“c”>;“b”>;“a”开头的字符串,依此类推。
当字符串是一个数字时,如“1234412”,它会检查第一个数字的绝对值,因此“1231432”gt;“2”将返回False,因为2大于1。在
你要做的是,当你请求输入时,假设变量应该等于用户写的数字。像这样:skill1 = int(input("Type your skill... :"))
但是如果用户没有输入数字,这可能会引发一个错误,因此您可能希望捕获错误,并仍然请求有效的输入!这样做:
^{pr2}$
您可能还想加入成对工作的if语句!你可以用两种方法来做:Else语句,或者Elif语句。。。如果所有其他if Elif语句的计算结果都为False,则Else语句将执行;如果在同一块中,它上面的所有if Elif语句的计算结果都为False,则Elif语句将执行!。在if #some condition#:
#some code
elif #some condition#: <== Only executes if the one above didn't execute
#some code
elif #some condition#: <== Only executes if the ones above didn't execute
#some code
else: # executes only if none of the above statements evaluated True.
当使用像这样的If Elif Else块时,您总是知道只有一个,只有一个代码部分会执行,因为当一个条件计算为True时,它将输入该语句的缩进代码,当它完成时,它将跳过所有其他条件!这样的代码将按以下方式工作:a = 10
if a < 20:
print("Var 'a' is smaller than 20")
elif a < 30:
print("Var 'a' is smaller than 30")
虽然a<;30是真的,但它只调用第一个print,因为当解释器输入第一个if时,它将自动跳过所有其他elif语句和else语句。在