输入输出函数学习笔记及习题练习

习题

  1. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
n = input('请输入你所想要相加的值:')
m = int(input('请输入你所想要相加的遍数:'))
s = 0
for x in range(1, m+1):
   f = n
   n = n * x
   s += int(n)
   n = f
print(s)

输出结果演示:
请输入你所想要相加的值:2
请输入你所想要相加的遍数:15
246913580246910

  1. 打印图形1、2、3
image = '@'
s = int(input('请输入你所想要打印图形层数:'))
control = input('打印半金字塔型请输入(a);\n打印金字塔型请输入(b);\n打印倒半金字塔型请输入(c);\n请输入你的选择:')
if control == 'a' or control == 'c':
    for x in range(s):
        if control == 'a':
            for _ in range(x + 1):
                print(image, end='')
            print('')
        if control == 'c':
            for _ in range(s - x):
                print(image, end='')
            print('')
if control == 'b':
    for x in range(s, 0, -1):
        for _ in range(x-1):
            print(' ', end='')
        for _ in range((s-x)*2+1 ):
            print(image, end='')
        print('')

b的输出结果:
请输入你的选择:b
    @
   @@@
  @@@@@
 @@@@@@@
@@@@@@@@@

输出结果:
请输入你所想要打印图形层数:5
打印半金字塔型请输入(a);
打印金字塔型请输入(b);
打印倒半金字塔型请输入(c);
请输入你的选择:a
@
@@
@@@
@@@@
@@@@@
请输入你的选择:c
@@@@@
@@@@
@@@
@@
@


金字塔(文本格式无法显示空格)
  1. 输入两个正整数m和n,求其最大公约数和最小公倍数。
m = int(input('请输入整数1:'))
n = int(input('请输入整数2:'))
if m < n:
    temp = n
    n = m
    m = temp
j = m
k = n
while k != 0:
    temp = j % k
    j = k
    k = temp
print('最小公倍数为:%d;最大公因数为:%d' % (m*n/j, j))

输出结果:
请输入整数1:15
请输入整数2:25
最小公倍数为:75;最大公因数为:5

  1. 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程找出1000以内的所有完数。
list_complexenumber = []
for x in range(1, 1001):
    sum = 0
    for y in range(1, x):
        if not x % y:
            sum += y
    if x == sum:
        list_complexenumber.append(x)
print(list_complexenumber)

输出结果:[6, 28, 496]

  1. 输出9*9口诀
for line in range(1, 10):
    for column in range(1, line+1):
        print('%dx%d=%d' % (column, line, column*line), end='  ')
    print('')

输出结果:
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

  1. 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同
mun = input('请输入一个五位整数,我们将为你判断它是不是回文数:')
number = list(mun)
if number[0] == number[4] and number[1] == number[3]:
    print('%s是回文数字' % (mun))

输出结果:
请输入一个五位整数,我们将为你判断它是不是回文数:35753
35753是回文数字

  1. 打印图形(菱形)
image = '@'
s = int(input('请输入你所想要打印菱形大小:'))
for x in range(s, 1, -1):
    for _ in range(x - 1):
        print(' ', end='')
    for _ in range((s - x) * 2 + 1):
        print(image, end='')
    print('')
for x in range(s):
    for _ in range(x):
        print(' ', end='')
    for _ in range((s - x) * 2 - 1):
        print(image, end='')
    print('')


输出结果:
请输入你所想要打印菱形大小:4
   @
  @@@
 @@@@@
@@@@@@@
 @@@@@
  @@@
   @

  1. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
lst = list(input('请输入一行字符,可以是任意字符:'))

iLetter = []
iSpace = []
iNumber = []
iOther = []

for i in range(len(lst)):
    if ord(lst[i]) in range(65, 91) or ord(lst[i]) in range(97, 123):
        iLetter.append(lst[i])
    elif lst[i] == ' ':
        iSpace.append(' ')
    elif ord(lst[i]) in range(48, 58):
        iNumber.append(lst[i])
    else:
        iOther.append(lst[i])

print('英文字母个数:%s' % len(iLetter))
print('空格个数:%s' % len(iSpace))
print('数字个数:%s' % len(iNumber))
print('其它字符个数:%s' % len(iOther))

输出结果:
请输入一行字符,可以是任意字符:不疯魔rsfisi34857(^&% fdr ][' f
英文字母个数:10
空格个数:3
数字个数:5
其它字符个数:11
注意:ASCII 码表的对应值,知道 ord('a') 能将字符 'a' 转化为 ASCII 码表上对应的数值,就可以了。其中,数字 0-9 对应的码值为 48-57,大写字母 A-Z 对应 65-90,小写字母 a-z 对应 97-122。判断的时候应注意:'2' in range(3) 的结果是 False,因为 '2' 是字符,而 range(3) 包含的全是数字。 ord('2') in range(3) 的结果则是 True。

笔记

输出函数:print()

1、默认每一个print函数,输出完内容后会输出一个换行
2、一个print函数输出多个内容的时候,内容之间是用空格隔开的
3、内容后边加end=来设置结束标志(默认是'\n')
4、通过设置sep的值,来设置多个内容之间的间隔符(默认是‘’)

print('aaa', 100, end='\n', sep=',')
print('bbb')

输入函数:input()函数

1、input()函数可以接受从控制台输入的内容(一回车为结束标志)
2、input函数会阻塞线程,程序执行到input的时候会停下来,等待用户
的输入,输入完成后才会接着执行下面的内容
3、接受到的数据是以字符串的形式返回的

value = input('请输入一个整数:')
print(value, type(value))
# 练习:猜数字游戏
"""
随机产生一个1-100的整数
输入的数字如果和产生的随机数是一样的,就提示猜测成功,并且结束游戏
如果输入的数大于或者小于随机数,就提示输入的数字偏大或者偏小,然后让其重新输入
"""
import random

number = random.randint(1, 100)
count = 0
print('=====欢迎开始猜数字游戏=====')
while True:
    value1 = int(input('请输入你所猜测的数字:'))
    count += 1
    if value1 == number:
        if count >= 6 :
            print('请充值智商')
        if count == 1 :
            print('大神,请收下膝盖吧!')
        print("恭喜你,猜对了!")
        break
    if value1 > number:
        print('你所猜测的数字有点大哦,换个小点的试试!')
    if value1 < number:
        print('你所猜测的数字有点小哦,换个大点的试试!')
"""
    else:
        print('你所猜测的数字有点小哦,换个大点的试试!')
"""
# 优化:如果确定了只有三种情况,只需要判断两种情况,第三种用else表示
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容