所以我是python和一般编码的新手,我在使用循环方面有一些困难。 这是以下代码(印刷品为法文,但我想不需要翻译)
n = input ("Saissisez le nombre totale de bonnes notes obtenues")
n = int(n)
if n > 0:
a = n+1
b = n*a
c = b/2
print("Vous avez accumulez au total la somme de :", c, "€")
print("Bien joué :)")
input()
else:
print("Vous n'avez pas rentré de nombre entiers correctes. Veuillez réessayer.")
n = input ("Saissisez le nombre totale de bonnes notes obtenues")
所以我要做的是为“ else”创建一个循环,以便再次询问该问题(输入),直到选择了大于0的数字为止。 例如,当我输入字母而不是数字时,如果它没有“错误”,那也很酷。
提前谢谢! (并对这个愚蠢的问题感到抱歉) 顺便说一句,“ if”中的输入是为了避免窗口立即关闭。
答案 0 :(得分:0)
为确保用户给您的整数大于0:
is_integer = False
n = ''
while not is_integer:
n = input("Saissisez le nombre totale de bonnes notes obtenues")
if type(n) == int and n > 0:
is_integer = True
else:
print('Not an integer greater than 0')
答案 1 :(得分:0)
最好的选择是将整个过程定义为一个函数,并对其进行调用。
def myProcedure():
n = input('Give me a number')
...
if repeat_condition:
myProcedure()
else:
finish up
对于您的号码错误,请使用try
块
try:
float(n)
...
except ValueError:
myProcedure()