为什么运行的时候输入数字回车会没反应的,要再次输入才有反应
temp = input('请输入一个数字:')num = int(temp)
while num % 2 != 0:
temp = input()
num = int(temp)
if (num % 2) == 0:
print(num ,'是一个偶数')
else:
print(num ,'是一个奇数') while num % 2 != 0:
temp = input('请输入一个数字:')
num = int(temp)
if (num % 2) == 0:
print(num ,'是一个偶数')
else:
print(num ,'是一个奇数') 你写了两个input,当然没反应 第一行去掉 老八秘制 发表于 2020-4-17 14:27
第一行去掉
第一行去掉运行不了 qiuyouzhi 发表于 2020-4-17 14:26
你写了两个input,当然没反应
那要怎么改呀
咿呀咿呀哟141 发表于 2020-4-17 14:33
那要怎么改呀
把第二个input和int去掉 本帖最后由 sunrise085 于 2020-4-17 15:14 编辑
while循环外有个input进去之后就先判断然后再input
temp = input('请输入一个数字:')
num = int(temp)
while num % 2 != 0:
if (num % 2) == 0:
print(num ,'是一个偶数')
else:
print(num ,'是一个奇数')
temp = input('请输入一个数字:')
num = int(temp) sunrise085 发表于 2020-4-17 15:12
while循环外有个input进去之后就先判断然后再input
你这个。。。不强制停止就不会结束打印了呀,
while True:
temp = input('请输入一个数字:')
if temp.lower()=='q': #要有退出机制
break
num = int(temp)
if (num % 2) == 0:
print(num ,'是一个偶数')
else:
print(num ,'是一个奇数') kiyn 发表于 2020-4-17 15:15
你这个。。。不强制停止就不会结束打印了呀,
只是帮他解决提出的问题。
另外输入偶数就结束了。
这个程序本来就有问题啊。若只判断一个数的话,需要用if…else…就可以了。
若需要多次输入数据进行判断,while条件也不应该是num%2!=0啊 while True:
temp = input('请输入一个数字:')
if temp.isdigit:
num = int(temp)
else:
print('输入错误,重新输入')
continue
if (num % 2) == 0:
print(num ,'是一个偶数')
else:
print(num ,'是一个奇数') 咿呀咿呀哟141 发表于 2020-4-17 14:29
第一行去掉运行不了
那你把第四行去掉 sunrise085 发表于 2020-4-17 15:12
while循环外有个input进去之后就先判断然后再input
我终于明白了,我纠结这个半天了{:5_104:},谢谢大哥呀 咿呀咿呀哟141 发表于 2020-4-17 15:38
我终于明白了,我纠结这个半天了,谢谢大哥呀
明白了,就设置个最佳答案吧。 kiyn 发表于 2020-4-17 15:15
你这个。。。不强制停止就不会结束打印了呀,
这样会有什么问题吗?因为我弄这就是打算可以一直判断下去的,不用了就关闭程序,如果不结束打印会有什么影响吗
本帖最后由 kiyn 于 2020-4-17 15:46 编辑
. sunrise085 发表于 2020-4-17 15:18
只是帮他解决提出的问题。
另外输入偶数就结束了。
我后面改成num%2==0,这样是不是没问题了 kiyn 发表于 2020-4-17 15:19
while True:这个条件是不是内容正确就可以一直循环了 咿呀咿呀哟141 发表于 2020-4-17 15:47
我后面改成num%2==0,这样是不是没问题了
我不知道你打算要什么结果。
是无限输入,遇到设定字符结束?
是只判断一次,然后结束?
还是遇到奇数/偶数结束?
这决定你的程序怎么写。
第一种是11楼上的程序
第二种是把while循环去掉
第三种就是你写的了
页:
[1]
2