笔记汇总(1)

日常笔记,对错自辩,仅供交流学习。

日常笔记,对错自辩,仅供交流学习。

日常笔记,对错自辩,仅供交流学习。

笔记汇总2

1.1【问题描述】

编写python程序,模拟以下场景:

计算机输出:欢迎使用XXX充值业务,请输入充值金额:

用户输入:100

计算机输出:充值成功,您本次充值 100 元。

效果如下图所示:
在这里插入图片描述

print("欢迎使用XXX充值业务,请输入充值金额:")
num = int(input())
print("充值成功,您本次充值 %d 元"%num)

1.2【问题描述】

在IDLE中创建一个名称为idcard.py的文件,然后在该文件中定义3个字符串变量,分别记录两名程序员说的话,再从程序员甲说的身份证号中截取出出生日期,并组合成“YYYY年MM月DD日”格式的字符串,最后输出截取到的出生日期和生日,代码如下:
在这里插入图片描述

a = "你知道我的生日吗?"
b = "输入你的身份证号码。"
c = "123456199006277890"
print("程序员甲说: "+a+"\n"+"程序员乙说: "+b+"\n"+"程序员甲说: "+c)
print("程序员乙说: 你是%s年%s月%s日出生的,所以你的生日是%s月%s日" %
      (c[6:10], c[10:12], c[12:14], c[10:12], c[12:14]))

1.3 【问题描述】

根据输入的父母亲的身高,预测出儿子的身高,并打印出来。计算公式为:儿子身高=(父亲身高+母亲身高)x 0.54。实现效果如下图所示:
在这里插入图片描述

print("请输入父亲的身高:")
num1=float(input())
print("请输入母亲身高:")
num2=float(input())
print("预测儿子身高为: %.4f"%((num1+num2)*0.54))

1.4 检测用户名【问题描述】

在IDLE中创建一个名称为check_user_name.py的文件,然后在该文件中定义1个字符串,内容为已经注册的会员名称,以“|”进行分隔,然后使用lower()方法将字符串全部转换为小写字母,再应用input()函数从键盘获取一个输入的注册名称,也将其全部转换为小写字母,再应用if…else语句和in关键字判断转换后的会员名是否存在于转换后的会员名称字符串中,并输出不同的判断结果。
a="Mrsoft|Tom"
b=a.lower().split("|")
# s=input("输入要注册的会员名称:")
print("输入要注册的会员名称:")
s=input()
s=s.lower()
if(s in b):
    print("会员名 "+s+" 已经存在!")
else:
    print("会员名 "+s+" 可以注册!")

1.5统计鱼数量

【问题描述】

小猫经过几天钓鱼,钓上了鲫鱼、鲤鱼、鲢鱼、草鱼、黑鱼、乌龟,在其记账单里记录为鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只。

小猫钓了几天鱼,想统计一下,它到底钓了多少鱼。

fish_record='鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只'
s,j,n=0,0,0
for var in fish_record:
    if var=="条":
        s+=int(fish_record[j-1])
        n+=1   
    j+=1
print("三酷猫钓上的鱼有%d条,统计鱼%d次,乌龟数没有统计!"%(s,n))

1.6 小猫核算收入

在这里插入图片描述

fish_record='鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只'
fish_price='8、5、3、2、9、8'
i,num,sum,Amount=0,0,0,0
while i<len(fish_price)/2:
    num=int(fish_record[2+i*5])
    sum+=num
    Amount+=int(fish_price[i*2])*num
    i+=1
print('三酷猫钓上水产品数为%d,预计收入%d元。'%(sum,Amount)) 

1.7 线性法找乌龟

在这里插入图片描述

fish_record='鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只'
print(len(fish_record))
i=0
while i<len(fish_record):
    if fish_record[i:i+2]=='乌龟':
        if int(fish_record[i+2])/2==0:
            print("找到乌龟了,是%d只,偶数"%(int(fish_record[i+2])))
        else:
            print("找到乌龟了,是%d只,奇数"%(int(fish_record[i+2])))
    i+=5

1.8 判断找乌龟

在这里插入图片描述

#三酷猫钓鱼记录查找,python3.6.3版本下执行
fish_record='鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只'
print (len(fish_record))

if fish_record[0:2]=='乌龟':
    print("是乌龟么?,是"+fish_record[0:2])
elif fish_record[5:7]=='乌龟':
    print("是乌龟么?是"+fish_record[5:7])
elif fish_record[10:12]=='乌龟':
    print("是乌龟么?是"+fish_record[10:12])
elif fish_record[15:17]=='乌龟':
    print("是乌龟么?是"+fish_record[15:17])
elif fish_record[20:22]=='乌龟':
    print("是乌龟么?是"+fish_record[20:22])
elif fish_record[25:27]=='乌龟':
    if int (fish_record[27])/2==0:
        print("找到乌龟了,是%d只,偶数"%(int(fish_record[27])))
    else:
        print("找到乌龟了,是%d只,奇数"%(int(fish_record[27])))

2.1 蒙特卡罗法计算圆周率

【问题描述】

求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在半径为1的圆内点的数量占总撒点数的比例计算圆周率值。

请以123作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后6位。

【样例输入】
1024
【样例输出】
3.156250

import random
import math
def calculate_pi(num_points):
    inside_circle = 0 # 圆内
    for _ in range(num_points):
        x = random.uniform(-1, 1) # 随机数
        y = random.uniform(-1, 1)
        distance = math.sqrt(x**2 + y**2) # 长度
        if distance <= 1:
            inside_circle += 1  
    return 4*inside_circle / num_points 

seed = 123
num_points = int(input())
random.seed(seed)
pi = calculate_pi(num_points)
print("%.6f" %pi)

2.2 用户登录的三次机会

【问题描述】

给用户三次输入用户名和密码的机会,要求如下:‪‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‪‪‫

1)如输入第一行输入用户名为‘Kate’,第二行输入密码为‘666666’,输出‘登录成功!’,退出程序;‪‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‪‪‫

2)当一共有3次输入用户名或密码不正确输出“3次用户名或者密码均有误!退出程序。”。

user={'Kate':'666666'}
i=0
while i<3:
    name=input()
    password=input()
    if name in user.keys() and password in user.values():
        print('登录成功!')
        break
    else:
        # print('错误')
        i+=1
    if i==3:
        print("3次用户名或者密码均有误!退出程序。")

2.3 整数的加减和

【问题描述】

输入一个大于1的整数n,编写程序计算如下数列的值:‪‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‪‪‫

1-2+3-4+5-6…n

其中,所有数字为整数,从1开始递增,奇数为正,偶数为负

n = int(input(""))
total = 0
for i in range(1, n+1):
    if i % 2 == 1:
        total += i
    else:
        total -= i
print(total)

2.4 删除0,逆序输出

请添加图片描述

num=input()
number_str = str(num)  

# 移除尾部的0  
while number_str[-1] == '0':  
    number_str = number_str[:-1]  
      
 # 逆序  
reversed_str = number_str[::-1]  
 
# 如果是负数,添加负号  
if number_str[0] == '-':
    reversed_str=reversed_str[0:len(reversed_str)-1]
    reversed_str = '-' + reversed_str  

print(int(reversed_str))

2.5 100以内素数之和

【问题描述】

求100以内所有素数之和并输出。‪‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‪‪‫

素数指从大于1,且仅能被1和自己整除的整数。‪‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‪‪‫

提示:可以逐一判断100以内每个数是否为素数,然后求和。

import math
def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(math.sqrt(num)) + 1):
        if num % i == 0:
            return False
    return True

sum = 0  
for i in range(2, 100):  
    if is_prime(i):  
        sum += i  
print(sum)

2.6 四位玫瑰数

【问题描述】

四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。‪‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‪‪‫

例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。‪‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‪‪‫

请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。

for i in range(1000, 10000):
    num_str = str(i)
    digits = [int(d) for d in str(i)]
    if sum(digit ** 4 for digit in digits) == i:  
        print(i)

2.7 分两列显示球队名

【问题描述】

请分两列显示下面的球队名称如下图:

team = [‘火箭’,‘勇士’,‘开拓者’,‘雷霆’,‘爵士’,‘鹈鹕’,‘马刺’,‘森林狼’]

team=['火箭','勇士','开拓者','雷霆','爵士','鹈鹕','马刺','森林狼']
print("2017~2018赛季NBA西部联盟前八名\n")
for i in range(0,int(len(team)/2)):
    print('%s\t%s\n'%(team[2*i],team[2*i+1]))

2.8 古诗排版

【问题描述】

使用二维列表输出不同版式的古诗。

str1 = “千山鸟飞绝”,str2 = “万径人踪灭”,str3 = “孤舟蓑笠翁”,str4 = “独钓寒江雪”,

verse = [list(str1), list(str2), list(str3), list(str4)] 。

str1="千山鸟飞绝"
str2="万径人踪灭"
str3="孤舟蓑笠翁"
str4="独钓寒江雪"
verse=[list(str1),list(str2),list(str3),list(str4)]
print(verse)
print('-- 横版 --\n')
for i in range(4):
    for j in range(5):
        if j==(4):
            print(verse[i][j])
        else:
            print(verse[i][j],end="")
verse.reverse()
print(verse)
print('\n-- 竖版 --\n')
for i in range(5):
    for j in range(4):
        print(verse[j][i],end="")
        if j==(3):
            print()

2.9 打印对角矩阵

【问题描述】在线性代数中,n阶单位矩阵,是一个n*n的方形矩阵,其主对角线元素为1,其余元素为0。
在这里插入图片描述
现在请你打印一个n阶单位矩阵。

【输入形式】一行整数n (0 < n <= 10)

【输出形式】输出该n阶单位矩阵,每个元素之间用空格分隔

n=int(input())
L=[]
for i in range(n):
    for j in range(n):
        if i==j:
            L.append(1)
        else:
            L.append(0)
for i in range(n**2):
    print(L[i],end=" ")
    if i%n==(n-1):
        print("\n")
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值