笨办法19函数和变量

来源:互联网 发布:mac帧ip类型数据长度 编辑:程序博客网 时间:2024/06/08 13:03

以下为代码

def cheese_and_crackers(cheese_count, boxes_of_crackers): #定义函数    print "You have %d cheeses!" % cheese_count    print "You have %d boxes of crackers!" % boxes_of_crackers    print "Man that's enough for a party!"    print "Get a blanket.\n"print "We can just give the function numbers directly:"cheese_and_crackers(20, 30)print "OR, we can use variables from our script:" #通过变量执行amount_of_cheese = 10amount_of_crackers = 50cheese_and_crackers(amount_of_cheese, amount_of_crackers)print "We can even do math inside too:" #通过math执行cheese_and_crackers(10 + 20, 5 + 6)print "And we can combine the two, variables and math:" #通过变量+math执行cheese_and_crackers(amount_of_cheese + 100, amount_of_crackers + 1000)

输出结果:

这里写图片描述


获取用户输入:

def cheese_and_crackers(cheese_count, boxes_of_crackers):    print "You have %d cheeses!" % cheese_count    print "You have %d boxes of crackers!\n" % boxes_of_crackersnum1 = raw_input("cheeses:")num2 = raw_input("crackers:")cheese_and_crackers(num1, num2)

然而执行到用户输入后,报错
这里写图片描述

查看问题发现,报错由于变量的类型不正确,即%d和raw_input的问题,原因是raw_input() 将所有输入作为字符串看待,返回的是字符串类型。可以有以下解决办法:
1. 将%d换成%r或者%s
2. 将raw_input换成input,input() 返回所输入的数字的类型( int, float )
3. 第8行加入int: cheese_and_crackers(int(num1), int(num2))

以下用方法2

def cheese_and_crackers(cheese_count, boxes_of_crackers):    print "You have %d cheeses!" % cheese_count    print "You have %d boxes of crackers!\n" % boxes_of_crackersnum = "Please enter the number"num1 = input(num + ", cheeses:")num2 = input(num + ", crackers:")cheese_and_crackers(num1, num2)

顺利输出结果:
这里写图片描述


原创粉丝点击