程序一直在运行,重复结果

img

img

img

程序一直在运行,如何调整变量i让它能够不一直重复满足条件循环

为了判断星期几的话,把while循环拿掉直接if这些判断不就好了吗

你这个死循环啊.... 拿掉while 就行 或者用switch ,但是 每一个case 需要跳出来:

int i = 1;
switch (i){
case 1:
System.out.println("MON");
break;
case 2:
System.out.println("TUS");
break;
default:
System.out.println("hhhhhh...");
}

img

img

变量i没有发生改变,0<i<=7,永远满足循环条件,所以循环不会停止。
可以去掉while循环,或者在每个判断里面加一个break等。

程序一直在运行,是因为你使用的是while循环,循环条件是0<i<=7,而你的i的值一直没有改变,所以一直满足0<i<=7,一直循环。
你想要不一直循环就在循环体里面改变i的值,让其不满足0<i<=7,或者使用break语句,跳出循环

dicts = {"1":"MON", "2":"TUE", "3":"WED", "4":"THU",
         "5":"FRI", "6":"SAT", "7":"SUN"}

while True:
    num = input("请输入1-7(输入0结束):")
    if num == "0":
        print("程序结束!")
        break #退出循环
    if num in dicts:
        print(dicts[num])
    else:
        print("请重新输入")

img