In [1]:
#3.由用户输入几个整数,打印最大值,最小值、平均值。
n = int(input('请输入一个整数,回车结束'))
max_n = n
min_n = n
avg_n = n
i = True
while True:
n = input('请输入一个整数,回车结束,输入‘q’为退出')
if n == 'q':
break
n = int(n)
avg_n = (avg_n + n)/2
if n > max_n:
max_n = n
if n < min_n:
min_n = n
print (max_n , min_n , avg_n , sep = '\n')
In [2]:
#3.6 实践与练习
#练习 1:写程序,可由键盘读入用户姓名例如Mr. right,让用户输入出生的月份与日期,判断用户星座,
#假设用户是金牛座,则输出,Mr. right,你是非常有性格的金牛座!。
name = input('请输入你的姓名,回车结束 ')
birthday_month = int(input('请输入你生日的月份,回车结束 '))
birthday_day = int(input('请输入你生日的日号,回车结束 '))
if birthday_month > 12 or birthday_month < 1 or birthday_day < 1 or birthday_day > 31:
print ('你输入的数字非法!')
if (birthday_month == 3 and 21<=birthday_day<=31) or (birthday_month == 4 and 1<=birthday_day<=19):
print (name,'你是非常有性格的白羊座!',sep = ',')
elif (birthday_month == 4 and 20<=birthday_day<=30) or (birthday_month == 5 and 1<=birthday_day<=20):
print (name,'你是非常有性格的金牛座!',sep = ',')
elif (birthday_month == 5 and 21<=birthday_day<=31) or (birthday_month == 6 and 1<=birthday_day<=21):
print (name,'你是非常有性格的双子座!',sep = ',')
elif (birthday_month == 6 and 22<=birthday_day<=30) or (birthday_month == 7 and 1<=birthday_day<=22):
print (name,'你是非常有性格的巨蟹座!',sep = ',')
elif (birthday_month == 7 and 23<=birthday_day<=31) or (birthday_month == 8 and 1<=birthday_day<=22):
print (name,'你是非常有性格的狮子座!',sep = ',')
elif (birthday_month == 8 and 23<=birthday_day<=31) or (birthday_month == 9 and 1<=birthday_day<=22):
print (name,'你是非常有性格的处女座!',sep = ',')
elif (birthday_month == 9 and 23<=birthday_day<=30) or (birthday_month == 10 and 1<=birthday_day<=23):
print (name,'你是非常有性格的天秤座!',sep = ',')
elif (birthday_month == 10 and 24<=birthday_day<=31) or (birthday_month == 11 and 1<=birthday_day<=22):
print (name,'你是非常有性格的天蝎座!',sep = ',')
elif (birthday_month == 11 and 23<=birthday_day<=30) or (birthday_month == 12 and 1<=birthday_day<=21):
print (name,'你是非常有性格的射手座!',sep = ',')
elif (birthday_month == 12 and 22<=birthday_day<=31) or (birthday_month == 1 and 1<=birthday_day<=19):
print (name,'你是非常有性格的魔蝎座!',sep = ',')
elif (birthday_month == 1 and 20<=birthday_day<=31) or (birthday_month == 2 and 1<=birthday_day<=18):
print (name,'你是非常有性格的水瓶座!',sep = ',')
elif (birthday_month == 2 and 19<=birthday_day<=28) or (birthday_month == 3 and 1<=birthday_day<=20):
print (name,'你是非常有性格的双鱼座!',sep = ',')
In [3]:
#练习 2:写程序,可由键盘读入两个整数m与n(n不等于0),询问用户意图,如果要求和则计算从m到n的和输出,
#如果要乘积则计算从m到n的积并输出,如果要求余数则计算m除以n的余数的值并输出,否则则计算m整除n的值并输出。
n = int(input('请输入第一个整数,回车结束 '))
m = int(input('请输入第二个整数,回车结束 '))
question = int(input('如果你想求和请输入1,如果你想求和请输入2,如果你想求和请输入3,输入其他数字默认整除,回车结束'))
if question == 1:
print ('add =',n+m)
elif question == 2:
print ('sum =',n*m)
elif question == 3:
print ('remainder =',m%n)
else :
print ('divided =',m/n)
In [4]:
#练习 3:写程序,能够根据北京雾霾PM2.5数值给出对应的防护建议。如当PM2.5数值大于500,则应该打开空气净化器,戴防雾霾口罩等。
pm2_5 = int(input('请输入pm2.5的值,回车结束 '))
if pm2_5 >= 500:
print ('应该打开空气净化器,戴防雾霾口罩')
elif 300 <= pm2_5 < 500:
print ('应该尽量不出门,必要出门戴防雾霾口罩')
elif 100 <= pm2_5 < 300:
print ('出门戴防雾霾口罩')
elif 0 <= pm2_5 < 100:
print ('空气不错')
In [7]:
#练习 4:英文单词单数转复数,要求输入一个英文动词(单数形式),能够得到其复数形式,或给出单数转复数形式的建议
#(提示,some_string.endswith(some_letter)函数可以判断某字符串结尾字符)。
#写成英语名词了,就不写动词了
while True :
Eng_word = input('请输入一个要转换的英语单词,回车结束,输入‘q’结束 ')
if Eng_word == 'q':
break
if Eng_word.endswith('s') or Eng_word.endswith('x') or Eng_word.endswith('sh') or Eng_word.endswith('ch'):
print (Eng_word+'es')
elif Eng_word.endswith('y'):
print (Eng_word[0:len(Eng_word)-1]+'ies')
elif Eng_word.endswith('f') or Eng_word.endswith('fe'):
if Eng_word == 'safe' or Eng_word == 'roof': #这特殊情况能列举完吗???
print (Eng_word+'s')
elif(Eng_word.endswith('f')):
print (Eng_word[0:len(Eng_word)-1]+'ves')
else :
print (Eng_word[0:len(Eng_word)-2]+'ves')
elif Eng_word.endswith('o'):
if Eng_word == 'tomato' or Eng_word == 'tomato' or Eng_word == 'hero' or Eng_word == 'negro': #这特殊情况能列举完吗???
print (Eng_word+'es')
else :
print (Eng_word+'s')
#elif #不规则的单词 就不写了
else :
print (Eng_word+'s')
In [5]:
#尝试性练习:写程序,能够在屏幕上显示空行。 ?????????????????????
print ('\n')
In [9]:
#挑战性练习:写程序,由用户输入一些整数,能够得到几个整数中的次大值(第二大的值)并输出。
max_n = 0
secmax_n = 0
while True:
n = input('请输入一个整数,回车结束,输入‘q’为退出 ')
if n == 'q':
break
n = int(n)
if n >= max_n:
secmax_n = max_n
max_n = n
print ('max',max_n)
print ('secmax',secmax_n)