python入门牛刀小试01

# 1、编写程序,完成以下要求:
# 统计字符串中,各个字符的个数
# 比如:"hello world"
# 字符串统计的结果为: h: 1
# e: 1
# l: 3
# o: 2
# d: 1
# r: 1
# w: 1

#方法1:字典
a = "hello world"
b = {}
for c in a:
    if c in b:
        b[c]+=1
    else:
        b[c] = 1
print(b)


#方法2:标记
words = "hello world"
flag = 0
for w in words:
    if words.count(w,flag) == words.count(w):
        print(w,words.count(w,flag))
        flag+=1

#方法3:系统函数法

a = "hello world 123;.>~12"
shuzi = 0
zimu = 0
kongge = 0
other = 0
for i in a:
    if i.isdigit():
        shuzi+=1
    elif i.isalpha():
        zimu+=1
    elif i.isspace():
        kongge+=1
    else:
        other += 1
print("数字:%d个,字母:%d个,空格:%d个,其他:%d个"%(shuzi,zimu,kongge,other))


#2、 随机生成一个六位数的验证码(包含数字和字符)

import random
code = ""
for i in range(6):
    if i == random.randint(0,5):
        print(random.randint(0,9),end="")
    else:
        code += random.choice("zxcvbnmasdfghjklqwertyuiop1234567890QWERTYUIOPASDFGHJKLZXCVBNM")
print(code)


# 3、使用while或者for,完成以下图形的输出
# *
# * *
# * * *
# * * * *
# * * * * *
# * * * *
# * * *
# * *
# *


for i in range(0,5):
    for j in range(0,i + 1):
        print("*",end=" ")
    print()
for i in range(4,0,-1):
    for j in range(i):
        print("*",end=" ")
    print()


 # 4、键盘录入3个数字,编写代码实现对三个整数进行排序,输出时按照从小到大的顺序输出。
list01 = []
for i in range(3):
    num = int(input("请输入第%d个数字:" %(i+1)))
    list01.append(num)
list01.sort()
print(list01)


# 5、输入一个三位数,编写代码实现判断这个数是否是水仙花数。水仙花数的条件:三位数为abc,则满足:a的立方+b的立方+c的立方=abc
num = int(input("请输入一个三位数:"))
a = num // 100
b = num// 10 % 10
c = num % 10
if a**3 + b**3 + c**3 == num:
    print("yes")
else:
    print("no")

# 6、输入一个四位数,编写代码实现统计出此整数里面包含多少个偶数,多少个奇数
num = input("输入一个四位数:")
i = 0
j = 0
for a in num:
    k = int(a)
    if k % 2 == 0:
        i+=1
    else:
        j+=1
print("偶数有%d个"%i)
print("奇数有%d个"%j)
 # 07.实现双色球的彩票功能。规则:从36个红球中随机选择不重复的6个数,从15个篮球中随机选择1个组成一注彩票,可以选择买多注。
import random
boal = int(input("请输入买的注数:"))
for i in range(boal):
    list00 = [k for k in range(0,34)]
    dict00 = {}
    listRed = []
    listBlue = []
    for j in range(6):
        boalRed = random.choice(list00)
        listRed.append(boalRed)
    listRed.sort()

    list01 = [p for p in  range(0,16)]
    boalBlue = random.choice(list01)
    listBlue.append(boalBlue)

    keyRed = "红球"
    keyBlue = "蓝球"
    valRed = listRed
    valBlue = listBlue
    dict00[keyRed] = valRed
    dict00[keyBlue] = valBlue

    print(dict00)
# 8、随机产生一个1-100之间的整数,看能几次猜中。要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。
import random
k = 0
while True:
    for i in range(0,1):
        j = random.randint(1,100)
    guess = int(input("猜数:"))
    if 0 < guess < j:
        print("小了")
    elif 100 > guess > j:
        print("大了")
    elif guess == j:
        print("猜对了")
    else:
        print("请输入有效数字")
        break
    print(j)
    k += 1
    if k == 7:
        print("你的猜数次数超过了7次,挑战失败")
        break
#9、
# A.求出1/3+3/5+5/7+7/9+...+97/99结果
import math  
sum = 0  
for i in range(1,100,2): #1/3 3/5  所以定义了跨步为2,即1,3,5,7循环
    sum += i/(i+2)    #1/1+2
print(sum)

# B.求出1-1/2+1/3-1/4…..1/100的结果
sum = 0
for i in range(1,101):
    i = i*pow(-1,i-1)   #利用-1的次方来决定i的正与负,第一次i=0的时候,i=i*(-1)的零次方,i=1
    sum += 1/i
print(sum)

# C.求出1-3+5-7+9-11+13...101的结果
sum = 0
k = 0
for i in range(1,102,2):
    i = i*pow(-1,k)    #同上,控制数字的正负
    k += 1
    sum += i
print(sum)
# 10、打印出杨辉三角形
#          *
#         * *
#        * * *
#       * * * *
#      * * * * *
#     * * * * * *
#    * * * * * * *
#   * * * * * * * *
#  * * * * * * * * *
# * * * * * * * * * *
for i in range(10):
    for j in range(0,10-i):
        print(end=" ")
    for k in range(10-i,10):
        print("*",end=" ")
    print("")

猜你喜欢

转载自blog.csdn.net/qq_42336700/article/details/81262257