码迷,mamicode.com
首页 > 编程语言 > 详细

初学python(1)

时间:2020-05-29 17:39:12      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:sof   target   tail   size   偶数   task   方法   imp   nbsp   

题目:

1、a = 2( int类型),c="5"(string类型),输出 a+c=7的值
2、a = 2( int类型) ,b=5( int类型),输出 a+c=25的值
3、c = "forling",输出 a = "for",c="li",d="g",将"forling"替换成“forlooing“
4、定义一个五位字典,将"adc"插入到偶数位,读出第三位的值,遍历key输出字典values
5、可循环输入年,输入月,输出这个月有多少天。
*整百年能被400整除的是闰年
*非整百年能被4整除的为闰年
6、随机生成10个20到40的数,统计数出现的次数,并从大到小输出。

=================================解答部分===================================

#!/usr/bin/python3
import random
from collections import Counter


#题目信息
print("========================题目1==========================")
print()
print("第一题:1、a = 2( int类型),c=\"5\"(string类型),输出 a+c=7的值")
print()

#解答过程
a=2
c="5"
print(a+int(c))
print()


#题目信息
print("========================题目2==========================")
print()
print("2、a = 2( int类型) ,b=5( int类型),输出 a+c=25的值")
print()

#解答过程
a=2
b=5
print(str(a)+str(b))
print()


#题目信息
print("========================题目3==========================")
print()
print("3、c = \"forling\",输出 a = \"for\",c=\"li\",d=\"g\",将\"forling\"替换成\"forlooing\"")

#解答过程
c = "forling"
print("a的截取方式")
print("a1="+c[0:3])
print("a2="+c[:3])
print()

print("b的截取方式")
print("c1="+c[3:5])#正序截取
print("c2="+c[-4:-2])#逆序截取
print()

print("d的截取方式")
print("d1="+c[6:])
print("d2="+c[-1:])
print()

print("替换方式")
print("将"+c+"替换成"+c[0:4]+"oo"+c[-3:])
print()

 

#题目信息
print("========================题目4==========================")
print()
print("4、定义一个五位字典,将\"adc\"插入到偶数位,读出第三位的值,遍历key输出字典values")
print()

#解答过程
zd={"test1":"ceshi","test2":"xiaozu","test3":"chengyuan","test4":"yongyuan","test5":"zuibang"}
print("字典原来的值")
print(zd.values())
print()

zd[6]="adc"
zd_it=zd.items()
print("插入\"adc\"后字典原来的值")
print(zd.values())
print()

print("读出第三位的值")
print(list(zd_it)[2])
print()

print("遍历key输出字典values")
print(zd.values())
print()


#题目信息
print("========================题目5==========================")
print()
print("5、可循环输入年,输入月,输出这个月有多少天。")
print()

#解答过程
days=[31,28,31,30,31,30,31,31,30,31,30,31]

print("=============================欢迎查询=============================")
print()
print("当年份为-1时,结束循环")
print()

#进入循环
for i in range(1000):#限制循环次数

year=int(input("请输入年份:"))
if(year==-1): break#方便结束循环

month=int(input("请输入月份:"))

if((month>12)or(month<1)):#判断月份输入是否正确
print("月份输入错误,请重新输入年月份")
continue

if((month==2)and((year%400==0)or((year%4==0)and(year%100!=0)))):#判断是否闰年
print("查询结果:",year,"年",month,"月天数为",days[(month-1)]+1,"天")
print()

else:#非闰年输出月份对应天数
print("查询结果:",year,"年",month,"月天数为",days[(month-1)],"天")
print()

print("=======================查询结束,欢迎再来=========================")


#题目信息

#参考链接:

#统计元素数量参考链接:【Python】获得列表中每个元素出现的次数(最优方法)

#排序参考链接:Python中,字典按值排序


print("========================题目6==========================")
print()
print("6、随机生成10个20到40的数,统计数出现的次数,并从大到小输出。")
print()

#解答过程(3种统计方式)
#循环生成10个随机数,数值在20-40之间
rd1=[random.randint(20,40) for i in range(10)]
print ("随机生成的数值为:",rd1)
print()

#方法1:字典统计方式
print("========================字典统计方式==========================")
dict={}

#①循环遍历后将数值变成健对值方式保存在字典中
for i in rd1:
if i in dict.keys(): dict[i]=int(dict[i])+1 #如果在,value值+1
else: dict[i]=1 #如果不在,字典中新增对应的items

#②排序1:使用sort方法把字典变成列表,字典无序,列表有序
l=list(dict.items())
l.sort(key=lambda y:y[1],reverse=True)
print("字典方式+sort方法统计得到的数值从大到小排序:",l)

#②排序2:sorted高阶函数把字典变成列表
rd1_order=sorted(dict.items(),key=lambda y:y[1],reverse=True)
print("字典方式统计得到的数值从大到小排序:",rd1_order)
print()
print()

 

#方法2:list的count()函数:用于统计某个元素在列表中出现的次数
print("===================list的count()函数=====================")
rd2=[random.randint(20,40) for i in range(10)]
dict2={}
s=set(rd2) #得到不重复的元素集合
print("不重复的元素集合:",s)

#统计
for i in s:
dict2[i]=rd2.count(i)
print("list的count()函数统计元素:",dict2)

#②排序2:sorted高阶函数把字典变成列表,字典无序,列表有序
rd2_order=sorted(dict2.items(),key=lambda y:y[1],reverse=True)
print("list的count()函数+sorted函数统计得到的数值从大到小排序:",rd2_order)
print()
print()


#第三种方法:使用collections.Counter()函数
print("=============collections.Counter()函数================")
rd3=[random.randint(20,40) for i in range(10)]
#进行统计
count1=Counter(rd3) #类型: <class ‘collections.Counter‘>
print(count1)

#进行排序输出
print(count1.most_common())#不加参数,对整体进行排序

 

初学python(1)

标签:sof   target   tail   size   偶数   task   方法   imp   nbsp   

原文地址:https://www.cnblogs.com/sulanyuan/p/12988468.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!