gpt4 book ai didi

Python脚本: Character 1 equal to character n

转载 作者:行者123 更新时间:2023-12-01 08:34:47 28 4
gpt4 key购买 nike

我是 python 新手,需要一些帮助。我应该编写一个脚本,从键盘读取单词,直到输入单词 999。对于除 999 之外的每个单词,报告该单词是否有效。如果单词的第一个字符等于最后一个字符,则该单词有效。我无法弄清楚我做错了什么。有人可以帮忙吗?

谢谢

在此处输入代码

def main():
newChance = True
while newChance == True:
try:
Code = raw_input("Enter a word.")
except ValueError:
print("You need to use letters only!")
try:
startOver = int(input("To start over, enter 0. To exit enter 999."))
except:
print("Goodbye...")
newChance = False
else:
if startOVer == 0:
newChance = True
else:
print("Goodbye...")
newChance = False
str1 = Code
if str1.startswith('"') and str1.endswith('"'):
print ("Your word is valid.")
else:
print ("Your word is invalid.")

最佳答案

有一些关于您的代码的评论。首先是您对 TRY/EXCEPT block 的使用。

这些用于错误处理。您已正确使用:

  try:
Code = raw_input("Enter a word.")
except ValueError:

这里的问题是您将主要逻辑定位在错误处理中。这意味着,如果用户最初正确输入了一个数字,它永远不会真正达到您的逻辑。

话虽这么说,错误捕获在我的系统上不起作用。您可能希望将其作为 IF/ELSE 来处理,并使用 Code.isdigit();

检查它是否是数字

在退出逻辑上添加验证也是明智之举。

最后,它应该看起来像这样:

newChance = True
while newChance == True:
Code = raw_input("Enter a number.")
if Code.isdigit():
if Code[0] == Code[-1]:
print ("Your word is valid.")
else:
print ("Your word is invalid.")

startOverValid = False
while not(startOverValid):
startOver = int(input("To start over, enter 0. To exit enter 999."))
if startOver == 999:
print("Goodbye...")
newChance = False
startOverValid = True
if startOver == 0:
startOverValid = True
else:
print("You need to use letters only!")

需要注意的要点是使用if Code[0] == Code[-1]:。由于我们的 raw_input 是一个字符串,因此我们可以检查第一个和最后一个字符的索引并确保它们匹配。

我们继续处理重启或退出。由于我们已将自己置于循环中,因此我们只需要测试 2 个有效的循环中断条件。

关于Python脚本: Character 1 equal to character n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53772902/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com