ani*_*nil -1 python input python-3.x
我是python的新手.这是我的wiered python代码,适用于所有输入,除了
当c = 0且r!= 0时.
我有多个测试用例(tc),r和c作为输入,根据条件给出所需的输出.
问题---输入r = 4&c = 0时,输出应为2,但输出为1.我为每个r!= 0&c = 0做出了错误的答案.
码:
tc=int(input())
while tc:
r,c=raw_input().split()
if int(r)%2==0 and r!=2 and r!=0 and c!=0:
r=int(r)/2
elif r!=2 and r!=0 and c!=0:
r=int(r)/2+1
elif r==0 or r ==2:
r=1
if r!=0:
if int(c)!=0:
print(int(r)*int(c))
else :
if int(r)%2==0 :
print(int(r)/2)
else:
r=int(r)/2+1
print(r)
else :
print(c);
tc=tc-1
Run Code Online (Sandbox Code Playgroud)
样本输入和输出
4 //tc
10 10 //r=10 c= 10
50 //fine
3 3 //r=3 c=3
6 //fine
4 0 //r=4 c=0
1 //Should be 2 accoring to code
5 0 //r=5 c=0
2 //Output should be 3 accoring to the code
Run Code Online (Sandbox Code Playgroud)
你自己解决了这个谜(有点):
if int(r)%2==0 and r!=2 and r!=0 and c!=0:
Run Code Online (Sandbox Code Playgroud)
r是一个字符串.所以r永远都是!=2因为"2" != 2永远是真的.所有其他比较也是如此.
我猜你第一次得到了TypeError与if r%2==0,让你改变程序的该位(也是所有其他地方,你实际上是在做计算的价值观),但忽略了这个观点应用到程序的其他部分.
因此,首先将所有输入转换为ints,然后开始应用程序逻辑.
| 归档时间: |
|
| 查看次数: |
381 次 |
| 最近记录: |