练习 1:写程序,可由键盘读入用户姓名例如Mr. right,让用户输入出生的月份与日期,判断用户星座,假设用户是金牛座,则输出,Mr. right,你是非常有性格的金牛座!。


In [ ]:
name=input('请输入你的姓名,回车结束:')
print(name,'你好!')

month=int(input('请输入你的出生月份,回车结束:'))
date=int(input('请输入你的出生日期,回车结束:'))
print('你的生日是:',month,'月',date,'日')

if month == 3:
    if date >= 21:
        print(name,',你是白羊座。')
    else:
        print(name,',你是双鱼座。')

if month == 4:
    if date >= 20:
        print(name,',你是金牛座。')
    else:
        print(name,',你是白羊座。')
        
if month == 5:
    if date >= 21:
        print(name,',你是双子座。')
    else:
        print(name,',你是金牛座。')
        
if month == 6:
    if date >= 22:
        print(name,',你是巨蟹座。')
    else:
        print(name,',你是双子座。')
              
if month == 7:
    if date >= 23:
        print(name,',你是狮子座。')
    else:
        print(name,',你是巨蟹座。')
        
if month == 8:
    if date >= 23:
        print(name,',你是处女座。')
    else:
        print(name,',你是狮子座。')
        
if month == 9:
    if date >= 23:
        print(name,',你是天秤座。')
    else:
        print(name,',你是处女座。')
        
if month == 10:
    if date >= 24:
        print(name,',你是天蝎座。')
    else:
        print(name,',你是天秤座。')
        
if month == 11:
    if date >= 23:
        print(name,',你是射手座。')
    else:
        print(name,',你是天蝎座。')
        
if month == 12:
    if date >= 22:
        print(name,',你是摩羯座。')
    else:
        print(name,',你是射手座。')
        
if month == 1:
    if date >= 20:
        print(name,',你是水瓶座。')
    else:
        print(name,',你是摩羯座。')
        
if month == 2:
    if date >= 19:
        print(name,',你是双鱼座。')
    else:
        print(name,',你是水瓶座。')


请输入你的姓名,回车结束:pxs
pxs 你好!
请输入你的出生月份,回车结束:2
请输入你的出生日期,回车结束:28
你的生日是: 2 月 28 日
pxs ,你是双鱼座。

练习 2:写程序,可由键盘读入两个整数m与n(n不等于0),询问用户意图,如果要求和则计算从m到n的和输出,如果要乘积则计算从m到n的积并输出,如果要求余数则计算m除以n的余数的值并输出,否则则计算m整除n的值并输出。


In [1]:
m=int(input('请输入一个整数,回车结束:'))
n=int(input('请输入一个非0整数,回车结束:'))

ask=input('你想求的结果是(e.g.和、积、余数):')
if ask == '和':
    if m<n:
        total=m
        while m<n:
                m=m+1
                total=total+m 
    if m>n:
        total=n
        while m>n:
                n=n+1
                total=total+n
    print('结果是:', total)
elif ask == '积':
    if m<n:
        multi=m
        while m<n:
                m=m+1
                multi=multi*m
    if m>n:
        multi=n
        while m>n:
                n=n+1
                multi=multi*n
    print('结果是:', multi)
elif ask== '余数':
    print('结果是:', m%n)
else:
    print('结果是:', m//n)


请输入一个整数,回车结束:5
请输入一个非0整数,回车结束:1
你想求的结果是(e.g.和、积、余数):和
结果是: 15

练习 3:写程序,能够根据北京雾霾PM2.5数值给出对应的防护建议。如当PM2.5数值大于500,则应该打开空气净化器,戴防雾霾口罩等。


In [2]:
ask=int(input('现在北京的pm2.5指数是多少:'))

if ask >= 500:
    print('请不要外出并打开空气净化器')
if ask >= 250:
    print('外出请戴口罩;室内开启空气净化器')
if ask >= 100:
    print('请减少室外活动')
else:
    print('空气质量优良')


现在北京的pm2.5指数是多少:183
请减少室外活动

练习 4:英文单词单数转复数,要求输入一个英文动词(单数形式),能够得到其复数形式,或给出单数转复数形式的建议(提示,some_string.endswith(some_letter)函数可以判断某字符串结尾字符)。


In [16]:
s=input('请输入一个英文单词,回车结束')

if s.endswith('o'):
    print(s,'变复数加es')

elif s.endswith('ch') or s.endswith('sh'):
    print(s,'变复数加es')

else:
    print(s,'变复数加s')


请输入一个英文单词,回车结束lie
lie 变复数加s

尝试性练习:写程序,能够在屏幕上显示空行。


In [3]:
print('我是空行')
print('我是空行')
print('我是空行')
print()
print('我是空行')
print('我是空行')
print('我是空行')
print('我是空行')


我是空行
我是空行
我是空行

我是空行
我是空行
我是空行
我是空行

挑战性练习:写程序,由用户输入一些整数,能够得到几个整数中的次大值(第二大的值)并输出。


In [4]:
max_number = int(input('请输入一个整数,回车结束'))
submax=0
i = 0

while i < 4:
    i += 1
    n = int(input('请输入一个整数,回车结束'))
    if n > max_number:
            submax = max_number
            max_number = n
    elif n < max_number and n > submax:
            submax = n

print('次大值是:', submax)


请输入一个整数,回车结束1
请输入一个整数,回车结束2
请输入一个整数,回车结束5
请输入一个整数,回车结束7
请输入一个整数,回车结束9
次大值是: 7