Python 3.x 除了散列标记的方式之外,是否还有错误检查我的代码的大写字母?

Python 3.x 除了散列标记的方式之外,是否还有错误检查我的代码的大写字母?,python-3.x,Python 3.x,帮忙?我需要计算的金额折扣是累积的基础上,以前的一套代码。。。但是每次我在我的“rewardsCard”变量下包含hashtaged行代码,试图确保即使输入大写字母,代码仍然可以工作,它运行程序但不运行任何嵌套的ifs。。在我说“是”之后,它不会打印任何内容 当我在没有hashtaged段的情况下运行它时,会生成所有代码,并且工作得非常好,只是我不能在输入中使用大写字母(错误检查) rewards=int(输入('您有多少奖励积分?(0表示无):')) 如果奖赏>=15,奖赏=25,奖赏=50,

帮忙?我需要计算的金额折扣是累积的基础上,以前的一套代码。。。但是每次我在我的“rewardsCard”变量下包含hashtaged行代码,试图确保即使输入大写字母,代码仍然可以工作,它运行程序但不运行任何嵌套的ifs。。在我说“是”之后,它不会打印任何内容

当我在没有hashtaged段的情况下运行它时,会生成所有代码,并且工作得非常好,只是我不能在输入中使用大写字母(错误检查)

rewards=int(输入('您有多少奖励积分?(0表示无):'))

如果奖赏>=15,奖赏=25,奖赏=50,奖赏你只是在测试是更低还是更低。您应该将其更改为lower()而不是islower(),以便将输入转换为小写字母。islower onloy测试所有字母是否都较低并返回布尔值:

rewards = int(input('How many reward points do you have? (0 for none): '))

if rewards >= 15 and rewards <=24:
    print('you currently have', rewards, 'point(s).\n' 'You qualify for a 10% discount.')
elif (rewards >= 25 and rewards <= 49):
    print('you currently have', rewards, 'point(s).\n' 'You qualify for a 20% discount.')
elif (rewards >= 50 and rewards <= 74):
    print('you currently have', rewards, 'point(s).\n' 'You qualify for a 25% discount.')
if rewards == 0:
    rewardsCard = input('Would you like a rewards card? (Yes/No): ')
    if rewardsCard.lower() == 'yes':
        print('You currently have', rewards, 'point(s).\n' 'You qualify for a new member reward of 1 point and a 5% discount.')
    if rewardsCard.lower() == 'no':
        print ('You are not a rewards club member.\nSorry - no discount today!')
else:
    print('you currently have', rewards, 'point(s).\n' 'Sorry - no discount today!')
rewards=int(输入('您有多少奖励积分?(0表示无):'))

如果奖赏>=15,奖赏=25,奖赏=50,奖赏你只是在测试是更低还是更低。您应该将其更改为lower()而不是islower(),以便将输入转换为小写字母。islower onloy测试所有字母是否都较低并返回布尔值:

rewards = int(input('How many reward points do you have? (0 for none): '))

if rewards >= 15 and rewards <=24:
    print('you currently have', rewards, 'point(s).\n' 'You qualify for a 10% discount.')
elif (rewards >= 25 and rewards <= 49):
    print('you currently have', rewards, 'point(s).\n' 'You qualify for a 20% discount.')
elif (rewards >= 50 and rewards <= 74):
    print('you currently have', rewards, 'point(s).\n' 'You qualify for a 25% discount.')
if rewards == 0:
    rewardsCard = input('Would you like a rewards card? (Yes/No): ')
    if rewardsCard.lower() == 'yes':
        print('You currently have', rewards, 'point(s).\n' 'You qualify for a new member reward of 1 point and a 5% discount.')
    if rewardsCard.lower() == 'no':
        print ('You are not a rewards club member.\nSorry - no discount today!')
else:
    print('you currently have', rewards, 'point(s).\n' 'Sorry - no discount today!')
rewards=int(输入('您有多少奖励积分?(0表示无):'))

如果奖励>=15,奖励=25,奖励=50,奖励你的意思是使用
lower
而不是
is\u lower
。后一个函数返回一个布尔值,并按照它所需的字符串来打断代码。

您的意思是使用
lower
而不是
is\u lower
。后一个函数返回一个布尔值,并按照它所需的字符串来中断代码。

谢谢,我还不太明白.islower()为什么不起作用,现在更清楚了!那么.islower函数是返回True还是False而不是转换?完全正确!因为Python不是强类型的,所以您的程序将顺利地继续运行。当然,如果将布尔值与yes或no进行比较,它将永远不会相等。谢谢,我真的不明白为什么.islower()不起作用,现在更清楚了!那么.islower函数是返回True还是False而不是转换?完全正确!因为Python不是强类型的,所以您的程序将顺利地继续运行。但如果将布尔值与是或否进行比较,它将永远不会相等。