Python编程基础题(4-顺序结构基础1)

【题目1】转换字母(顺序结构)
从键盘上输入一个小写字母,然后将小写字母装换成大写字母输出。

x=input()
print(x.upper())

注意:x输出时不能像C语言那样在后面“-32”,因为x为字符串类型,不能和整数相加减(字符串之间的加号表示字符串的连接),使用upper方法表示将字符串中的字母大写。

【题目2】圆柱体计算
已知圆柱体的底面半径r和高h(均为正实数),计算圆柱体底面周长和面积、圆柱体侧面积以及圆柱体体积(以空格分开,所有数据均保留2位小数)。其中圆周率定义为3.1415926。

string = input()
pi = 3.1415926
r, h = map(float, string.split())
a = 2 * pi * r
b = pi * (r ** 2)
c = a * h
d = b * h
print("{0:.2f} {1:.2f} {2:.2f} {3:.2f}".format(a, b, c, d))

注意:本题输入的r和h均为整实数,应使用float类型读取输入的字符串;掌握用format方法格式化输出的方法。

【题目3】实数的输出和占位
输入一个实数(double范围内的正实数 a),请你按如下要求输出: 第一行按双精度默认输出, 第二行双精度数输出共占 10 位,其中 3 位小数,右对齐,左补空格并在两端添加星号包裹, 第三行双精度数输出共占 10 位,其中 3 位小数,左对齐,右补空格并在两端添加星号包裹。

x=float(input())
print("%f"%(x))
print("*%10.3f*"%(x))
print("*%-10.3f*"%(x))

注意:Python中没有double类型,这和C语言、JAVA语言有所不同,Python的float类型就可达到“双精度”的要求;按双精度默认输出是,不能写成print("%10f"%(x)),否则会出现Presentation Error的提示。
此外,Python中的整型int也可以表示长整型,这同样也不需要long 或long long 来表示下面一道题说明了这一点:
输入两个 long long 范围内的整数,输出它们的和

x=int(input())
y=int(input())
print(x+y)

【题目4】带’ 和 ”字符的输出
输入一个字符,输出两行。 第一行将字符用 ’ 包裹。 第二行将字符用 " 包裹。

x=input()
print("'{0}'".format(x))
print('"{0}"'.format(x))

本题中,格式输出是内外两层引号不能相同,即如果要输出双引号包裹的字符,那么最外层应是单引号;如果要输出单引号包裹的字符,那么最外层应是双引号。Python中没有字符类型,而有字符串类型,此类型可用一对单引号,双引号,三引号来作界定符。

【题目5】’%'字符的输入输出
输入三个int范围内的正整数,它们用“%”分割,为a b c 代表月,日,年, 要求按照输入样式原样输出。

x=input()
a,b,c=map(int,x.split("%"))
print("{0}%{1}%{2}".format(a,b,c))

我们知道,C语言中如果要在printf函数中输出显示一个“%”需要在字符串字面量里面连续写两个“%”。在Python中利用format方法输出更加简便。
类似还有下面这道:输入三个用“\”分割的正整数 a b c 代表日,月,年, 要求按照输入样式原样输出。

x=input()
a,b,c=map(int,x.split("\\"))
print("{0}\{1}\{2}".format(a,b,c))

上面要注意第二行,被右斜线\分割,如果split方法的参数只有一个右斜线,因后面有双引号,所以这一个右斜线就代表了转义,所以要正常表示一个右斜线,应写作“\”。

你可能感兴趣的:(Python语言程序设计)