gpt4 book ai didi

Python while循环+检查是否为整数,然后保存到文件

转载 作者:太空宇宙 更新时间:2023-11-03 16:50:32 24 4
gpt4 key购买 nike

我已经被困在这个问题上有一段时间了。我正在制作一个测验应用程序,我需要保存用户分数。该应用程序将要求用户输入 1 到 3 之间的数字,以便他们可以将分数保存到文件中,该文件会将其保存在文件 1、2 或 3 中(针对 3 个不同的类别)。

如果用户输入字母,则会要求他们输入数字,如果数字不在 1 到 3 之间,则会再次询问他们,直到输入有效。然后它将把他们的分数保存到文件中。

classname = int(input("\nEnter [1] for class 1 \nEnter [2] for class 2 \nEnter  [3] for class 3"))
invalid = True

while invalid = True:
classname = int(raw_input("Please enter a number in the range 1 to 3: "))
if int(classname) >= 1 and int(classname) <= 3:
invalid = False:

while invalid = False:
if int(classname) == 1:
score = str(score)
f = open("class 1.txt", "a")
f.write(str(name+': '))
f.write(str(score))
f.write('\n')
f.close()

elif int(classname) == 2:
score = str(score)
f = open("class 2.txt", "a")
f.write(str(name+': '))
f.write(str(score))
f.write('\n')
f.close()

elif int(classname) == 3:
score = str(score)
f = open("class 3.txt", "a")
f.write(str(name+': '))
f.write(str(score))
f.write('\n')
f.close()
else: #not sure what to put here

我不知道还能放什么。我是 Python 新手,我真的需要这方面的帮助,因为我只想完成它。如果有人可以修复我的代码,我将不胜感激。

我认为我需要使用type(classname),但我不确定。

最佳答案

您不需要 else 语句。

由于您将classname作为整数,因此您可以使用try- except捕获所有错误。所以基本上你会检查输入是否是整数。

try:
classname = int(input("\nEnter [1] for class 1 \nEnter [2] for class 2 \nEnter [3] for class 3"))
except:
print ("It's not a number, please try again.")
continue
if 3 < classname or classname < 1:
print ("Please enter a number between 1 and 3.")
continue

continue 语句会遍历所有内容,直到用户输入一个数字,然后它会检查是否是 1 到 3 之间的数字。如果不在 1 到 3 之间,那么它会通过一切都在进行,直到用户输入可接受的数字。

关于Python while循环+检查是否为整数,然后保存到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35881461/

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