while True循环出现SyntaxError,求奇偶统计程序错误排查帮助
问题排查:while循环的SyntaxError错误
你的代码里的SyntaxError根源很明确:while True语句的结尾用了等于号=,而Python要求循环、条件语句的结尾必须使用冒号:。
修正后的完整代码如下:
number = 0 even = 0 odd = 0 while True: number = input('add ra vared kned\n> ') if number == 'end' or number == 'finish' or number == 'done' : break number = int(number) if number % 2 == 0: even = even + 1 else : odd = odd + 1 print ('Number of even numbers =',even, 'Number of odd numbers =',odd )
额外提个小优化:如果用户输入了非数字的内容(除了结束指令),int(number)会抛出ValueError,你可以加个异常处理来避免程序崩溃,比如:
number = 0 even = 0 odd = 0 while True: number = input('add ra vared kned\n> ') if number in ['end', 'finish', 'done']: break try: number = int(number) if number % 2 == 0: even += 1 else: odd += 1 except ValueError: print("请输入有效的数字或者结束指令") print(f'Number of even numbers = {even}, Number of odd numbers = {odd}')
内容的提问来源于stack exchange,提问作者Amir
相关产品推荐
相关产品推荐

