1、等比数列
1、获得用户输入的以逗号分隔的三个数字,记为a,b,c,以a为起始数值,b为前后相邻数的比值,c为数列长度
,产生一个等比数列,将这个数列以逗号分隔的形式输出,最后一个元素输出后无逗号
等比数列公式:
所给代码如下所示:
#请完善如下代码,不得修改其他代码
a,b,c =
ls = []
for i in range(c):
print(",".join(ls))
a,b,c = eval(input())
for i in range(c):
print(a*b**i,end=',')
有没有跟我一样时这样写的,发现最后一个元素输出后时有逗号的
如何去除最后一个元素并且不修改其他代码呢?说实话暂时还没有找到方法因为它最后固定了那个使用join方法进行逗号的处理,所以在这里外面应该换一种方法。
join方法详解:
Python中的join()函数可以把列表、元组、字符串(str)和生成器(generator)类型的数据用某个字符连接起来。
join函数的定义
Python中的join()函数用于连接字符串序列,且字符串序列的分隔符可以自定义,返回连接后的新字符串。其语法为:
str.join(sequence)
其中,str表示分隔符,sequence表示需要连接的字符串序列。
join函数的使用方法
当我们需要把一个序列中的字符串连接起来,我们可以使用join函数,这个函数的返回值就是元素之间用分隔符链接起来的一个字符串。具体的实现步骤如下:
(1)首先需要定义一个需要连接的序列,比如列表、元组、字符串等类型。
(2)然后定义一个分隔符,用来将这些元素连接起来。
(3)调用join()方法,并将这个分隔符作为参数传入。
a,b,c = eval(input())
ls = []
for i in range(c):
ls.append(str(a*b**i))#join()函数可以把列表、元组、字符串(str)和生成器(generator)类型的数据用某个字符连接起来
print(",".join(ls))
2、字符串
程序接收用户输入的五个数,以逗号分隔,将这些数字按照输入顺序输出,每个数字占10个字符宽度,右对齐,所以数字显示在同一行。
split用法详解:
string.split(str, max)
str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
max – 分割次数。规定要执行的拆分数。默认值为 -1,即“所有出现次数”。
注意里面没有" "双引号。
num = input().split(",")#用列表来做,将输入的五个数以逗号分隔,然后放入列表中
for i in num:
print("{:>10}".format(i),end="")#对列表本身进行遍历,记得将结尾默认成空
3、简单计算题
社会平均工作时间时每天8小时(不区分工作日和休息日),一位计算机科学家接收记者采访时说,他每天工作时间比社会平均工作时间多3小时。如果这位科学家的当下成就值是1,假设每工作1个小时成就值增加0.01%,计算并输出两个结果,这位科学家5年后的成就值,以及达到成就值100所需要的年数。其中,成就值和年数都以整数表示,每年以365天计算。
如果大家不太清楚其中关系,我觉得这个可以自己先手算一遍捋清楚再写代码。做这种题千万别慌,别乱。
scale = 0.0001#成就值增量
def calv(base,day):
val = base * pow((1+scale),day*11)
return val
print('5年后的成就值是{}'.format(int(calv(1,5*365))))
year = 1
while calv(1,year*365) < 100:
year += 1
print('{}年后成就值是100'.format(year))
4、判断正整数
程序接收用户输入的一个数字并判断是否为正整数,如果不是正整数,则显示"请输入正整数"并等待用户重新输入,直至输入正整数为止,并显示输出该正整数。
如何判断这个数为正整数
下面代码给出了三种方法,分别是
a > 0 and a % 1 == 0
a > 0 and type(a)==int
a > 0 and a == int(a)
while True:
try:#异常处理结构
a = eval(input("请输入一个正整数:"))
#if a > 0 and a % 1 == 0:
#if a > 0 and type(a)==int:
if a > 0 and a == int(a):
print(a)
break#跳出循环
else:
print("请输入正整数")
except:
print("请输入正整数")
感觉难度上来了哈哈加油加油!!
5、按要求输出数字
接收用户输入的一个小于20的正整数,在屏幕上逐行递增显示从01到该正整数,数字显示的宽度为2,不足位置补0,后面追加一个空格,然后显示’>'号,’>'号的个数等于行首数字。
n = input('请输入一个正整数')
for i in range(1,eval(n)+1):
print('{:02} {}'.format(i, '>' * i))
6、计算数字与字母的个数
让用户输入一串数字和字母混合的数据,然后统计其中数字和字母的个数,显示在屏幕上。
最简单的一个!
ns = input("请输入一串数据:")
dnum,dchr = 0,0#结果死在这里,,,我的脑子呢????
for i in ns:
if i.isnumeric():
dnum += 1
elif i.isalpha():
dchr += 1
else:
pass
print('数字个数:{},字母个数:{}'.format(dnum,dchr))
今天就到这里啦祝大家都顺利通过二级!!!!!