艰苦学习Python:练习19

时间:2020-06-20 18:05:27

标签: python

从Zed Shaw的书开始学习python。在与let theList = ["one", "two", "three"] const todoList = document.querySelector(".todo-list"); window.onload = build; function build() { todoList.innerHTML = "<h2>Todays List</h2>"; const tbl = document.createElement("table"); for (let i = 0; i < theList.length; i++) { const row = document.createElement("tr"); row.ind = i; // checkbox const checkboxHolder = document.createElement("td"); const checkbox = document.createElement("input"); checkbox.type = "checkbox"; checkbox.name = "checkbox"; checkbox.id = "completed"; checkboxHolder.appendChild(checkbox) row.appendChild(checkboxHolder); // list Item const listItem = document.createElement("td"); listItem.innerHTML = theList[i]; row.appendChild(listItem); // edit button const editBtn = document.createElement("span"); editBtn.innerText = "Edit"; editBtn.style.padding = "5px"; row.appendChild(editBtn); // delete button const deleteBtn = document.createElement("span"); deleteBtn.innerText = "Delete"; deleteBtn.style.padding = "5px"; deleteBtn.addEventListener("click", function () { var itemOut = theList.splice(i, 1); build(); }) row.appendChild(deleteBtn); tbl.appendChild(row); } todoList.appendChild(tbl) } 进行的一项练习中,您想使用def function而又不知道该如何实现。任何帮助和建议表示赞赏。

运行代码时出现此错误:

raw_input

关于Alex,

 File "drills19.py", line 27, in <module>
    boys_and_girls(boys, girls)
  File "drills19.py", line 2, in boys_and_girls
    print "In your school there are %d boys." % boys_count
TypeError: %d format: a number is required, not str

2 个答案:

答案 0 :(得分:0)

问题是raw_input返回一个str(即一个字符串),但是%d格式类型需要一个数字。您可以使用int()将其转换为数字:

...
boys = int(raw_input(">"))
...
girls = int(raw_input(">"))
...

答案 1 :(得分:0)

无论您提供作为用户输入的任何输入,默认情况下都将以string的形式接收。

在print语句中,您指定要打印整数值(在print语句中为%d),然后再次传递从用户输入存储的string值。

您需要先将raw_input转换为整数。

尝试一下:

def boys_and_girls(boys_count, girls_count):
    print "In your school there are %d boys." % boys_count
    print "In your school there are %d girs." % girls_count
    print "Total number of students in the school is %d." % (boys_count + girls_count)
    print "That's a lot of students!\n"

print "How many boys on the school?"
boys = int(raw_input(">"))
print "How many girls in the school?"
girls = int(raw_input(">"))
boys_and_girls(boys, girls)