2021.03 编程题 37【Python二级题目解析】

您所在的位置:网站首页 求圆的周长方法 2021.03 编程题 37【Python二级题目解析】

2021.03 编程题 37【Python二级题目解析】

#2021.03 编程题 37【Python二级题目解析】| 来源: 网络整理| 查看: 265

Python二级题目解析 1、题目

37、用户输入一个半径r,求该半径下的圆的面积s与周长c。

要求如下:

(1)输出的面积与周长都保留俩位小数;

(2)输出的格式为:“圆的周长是**,面积是**”;

(3)pi取3.14;

(4)使用print()格式化输出(%方法)。

2、讲解

参考程序:

r = float(input("请输入半径:")) pi = 3.14 s = pi * r * r c = 2 * pi * r print("圆的周长是%.2f,面积是%.2f" % (c, s))

评分标准:

(1)r = eval(input(“请输入半径:”)) #正确输入半径(得2分)并将字符串类型转换为数据类型(得3分)。共5分

(2)pi = 3.14,c=2 * pi * r #正确的运算出周长。(公式正确3分,如果有计算但是公式错误,则得2分)共3分

(3)s = pi * r ** 2 #正确的运算出面积。(公式正确3分,如果有计算但是公式错误,则得2分)共3分

(4)print(“圆的周长是%.2f,面积是%.2f。”%(c,s)) #正确的格式化输出。(有输出1分,保留两位小数1分,格式化输出正确2分)共4分

知识点:利用格式化操作符%进行格式化输出

格式化操作符用%表示,字符串格式化涉及到两个概念:

格式:以%开头。格式化:以%开头,用对象代替格式串中的格式最终得到1个字符串。

%是Python风格的字符串格式化操作符,非常类似C语言里的printf()函数的字符串格式化(C语言中也是使用%)。

字符串格式化的一般形式如下图所示:

[ ]中的内容可以省略;简单的格式是%加格式字符,如%f、%d、%c等;当最小宽度及精度都出现时,它们之间不能有空格,格式字符和其他选项之间也不能有空格,如%8.2f。

常用格式字符如下:

符号描述%c格式化字符及其ASCII码%s格式化字符串,用str()方法处理对象%r格式化字符串,用rper()方法处理对象%%字符%%d格式化十进制整数%o格式化八进制数%x格式化十六进制数%X格式化十六进制数(大写)%f格式化浮点数字,可指定小数点后的精度%e用科学计数法格式化浮点数%E作用同%e,用科学计数法格式化浮点数%g根据值的大小决定使用%f或%e%G作用同%g,根据值的大小决定使用%f或%E

【例子】

print('%c' % 97) # a print('%c %c %c' % (97, 98, 99)) # a b c print('%d + %d = %d' % (4, 5, 9)) # 4 + 5 = 9 print("我叫 %s 今年 %d 岁!" % ('小明', 10)) # 我叫 小明 今年 10 岁! print('%o' % 10) # 12 print('%x' % 10) # a print('%X' % 10) # A print('%f' % 27.658) # 27.658000 print('%e' % 27.658) # 2.765800e+01 print('%E' % 27.658) # 2.765800E+01 print('%g' % 27.658) # 27.658

【例子】下面的代码通过键盘输入两个整数来实现对两个整数的算术运算。

""" 使用input()函数获取键盘输入(字符串) 使用int()函数将输入的字符串转换成整数 使用print()函数输出带占位符的字符串 """ a = int(input('a = ')) b = int(input('b = ')) print('%d + %d = %d' % (a, b, a + b)) print('%d - %d = %d' % (a, b, a - b)) print('%d * %d = %d' % (a, b, a * b)) print('%d / %d = %f' % (a, b, a / b)) print('%d // %d = %d' % (a, b, a // b)) print('%d %% %d = %d' % (a, b, a % b)) print('%d ** %d = %d' % (a, b, a ** b))

【例子】比较%s,str()和%r,repr()之间的差异。

%s用str()方法处理,得到的字符串是面向用户的,具有较好的可读性。%r用repr()方法处理,得到的字符串是面向机器的。 text = "I am %d years old." % 22 print("I said: %s." % text) # I said: I am 22 years old.. print("I said: %r." % text) # I said: 'I am 22 years old.'. text = "Hello\tWorld\n" print("%s" % text) # Hello World # print("%r" % text) # 'Hello\tWorld\n'

通过%可以进行字符串格式化,但是%经常会结合下面的辅助指令一起使用。

符号功能m.nm 是显示的最小总宽度n 是小数点后的位数(如果可用的话)-用作左对齐+在正数前面显示加号( + )#在八进制数前面显示零(‘0o’)在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)例如:#o,#x,#X0显示的数字前面填充’0’而不是默认的空格*定义宽度或者小数点精度

【例子】

print('%5.1f' % 27.658) # ' 27.7' print('%.2e' % 27.658) # 2.77e+01 print('%10d' % 10) # ' 10' print('%-10d' % 10) # '10 ' print('%+d' % 10) # +10 print('%010d' % 5) # 0000000005

【例子】整型用十六进制(hexadecimal)和八进制表示(octal)。

num = 58 print("%d to hex is %x" % (num, num)) # 58 to hex is 3a print("%d to hex is %X" % (num, num)) # 58 to hex is 3A print("%d to hex is %#x" % (num, num)) # 58 to hex is 0x3a print("%d to hex is %#X" % (num, num)) # 58 to hex is 0X3A print("%d to oct is %o" % (num, num)) # 58 to oct is 72 print("%d to oct is %#o" % (num, num)) # 58 to oct is 0o72

【例子】指定输出的宽度和对齐。

students = [ {"name": "Tom", "age": 27}, {"name": "Will", "age": 28}, {"name": "June", "age": 27} ] print("name: %10s, age: %10d" % (students[0]["name"], students[0]["age"])) print("name: %-10s, age: %-10d" % (students[1]["name"], students[1]["age"])) print("name: %*s, age: %0*d" % (5, students[2]["name"], 5, students[2]["age"])) # name: Tom, age: 27 # name: Will , age: 28 # name: June, age: 00027

【例子】格式化输出字典dict。

Python的格式化操作符,可以直接使用%(key)s(这里的s根据具体类型改变)的方式表示dict中对应的value。

students = [ {"name": "Tom", "age": 27}, {"name": "Will", "age": 28}, {"name": "June", "age": 27} ] for student in students: print("%(name)s is %(age)d years old" % student) # Tom is 27 years old # Will is 28 years old # June is 27 years old


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3