python代码中的错误

时间:2012-01-10 23:28:51

标签: python python-3.x

我是Python新手。这是我的代码,它扫描测试用例数tc作为输入,然后扫描两个整数rc并计算我的结果。

问题:如何删除错误?

#!bin/bash/python
tc=int(input());
while tc:
    r,c=raw_input().split()
    if r%2==0:
        r=r/2
    else:
        r=r/2+1
    print(r*c)
    tc=tc-1

4       //input tc
10 10   //input r=10 c=10

屏幕上显示错误:

Traceback (most recent call last):
File "spoj_solders.py", line 5, in <module>
  if r%2==0:
TypeError: not all arguments converted during string formatting

这个字符串格式是什么?

平台:Ubuntu 10.04

2 个答案:

答案 0 :(得分:2)

r,c=raw_input().split()从用户(raw_input())获取文本,将其作为str类型返回并将其拆分为两个字符串(以空格分隔)并将其存储在变量rc。因此,rstr,如果不将if r%2==0:强制转换为r,就不能说int

r,c=raw_input().split()
if int(r)%2==0:
    r=int(r)/2
else:
    r=int(r)/2+1
print(r*c)
tc=tc-1

答案 1 :(得分:2)

split()调用的结果是字符串列表,因此rc变量也是字符串。

因此,当在%上使用r运算符时,Python会执行字符串格式化而不是您期望的模数运算。

您需要先将r转换为正确类型的变量(例如,使用float(r))。