蓝桥杯练习--杨辉三角、输出对应ASCII码、字符逆序、字符串输入输出处理、数字序列个数

1.杨辉三角

杨辉三角形又称pascal三角形,它第i+1行是(a+b)的i次的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它肩上的数字相加。
下面给出了杨辉三角的前四行
1
1 1
1 2 1
1 3 3 1
给出n,输出它的前n行
输入格式:
输入包含一个数n
输出格式:
输出杨辉三角形的前n行。每行从这一行的第一个数开始一次输出,中间使用一个空格分隔,请不要在前面输出多余的空格。
具体代码:

n = int(input())#给出的数字n
s = []#列表中的每个元素分别是一行
for i in range(n):
    s.append(list(range(i+1)))#每一行有的元素个数
    s[i][0]=1
    s[i][i]=1
    for j in range(1,i):
        s[i][j] = s[i-1][j-1]+s[i-1][j]
for x in range(len(s)):
    while(s[x]):#当元素为空时 说明该行结束  执行下一个元素
        print(s[x].pop(0),end=' ')
    else: #输出换行
        print('')

运行结果:
在这里插入图片描述

2.输入整形的数据,输出对应的ASCII码

python中没有像c语言一样直判断输入EOF(在操作系统中表示资料源无更多的资料可读取)的语句,所以用sys.stdin来代替EOF输入
具体代码:

import sys
while True:
    line = sys.stdin.readline()
    if not line:
        break
    for _ in line.split():
        print(chr(int(_)))
        

运行结果:
在这里插入图片描述
print(chr(int(i)),end=’ ') #修改输出语句
在这里插入图片描述

3.字符逆序

将一个字符串str的内容颠倒过来,并输出
输入:输入包括一行,第一行输入的字符串
输出:输出转换好的逆序字符串
具体代码:

while True:
    lis1 = list(input())
    lis1 = lis1[::-1]#切片是对列表的操作
    print(''.join(lis1))

运行结果:
在这里插入图片描述

4.字符串的输入、输出处理


一边输出一边输入
具体代码:

n = int(input())
for i in range(n):
    print(input() + '\n')
while True:
    try:
        slist = input().split()
        for s in slist:
            print(s+'\n')
    except:
        break

运行结果:
在这里插入图片描述

5.数字序列个数

在这里插入图片描述
strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。 注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
具体代码:

def f(n): #定义函数
    re = 1
    while n!=1:
        if n%2==0:
            n = n/2
        else:
            n = n*3+1
        re+=1
    return  re

while True:
    try:
        #a,b = map(int,input().split())
        a, b = map(int, input().strip().split())
        print(a,b,end=' ')
        if a>b:
            a,b = b,a
        zd = 0
        for i in range(a,b+1):
            zd = max(zd,f(i))
        print(zd)
    except:
        break

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值