python题(2)

这篇文章涵盖了Python的基础知识,包括输入输出、条件判断、循环结构以及算术运算。同时,它还介绍了如何用Python实现猜拳游戏和判断质数、水仙花数的算法。此外,文章讨论了标识符的命名规则,并涉及列表的操作如合并、去重和判断子列表。最后,它涉及到了一些简单的数学问题,如鸡兔同笼问题和寻找孪生数。
摘要由CSDN通过智能技术生成
  1. 用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b
a = float(input("请输入第一个数"))
b = float(input("请输入第二个数"))
if b % a == 0 or a + b > 1000:
    print(a)
else:
    print(b)
  1. 请输入一个数,判断这个数是偶数还是奇数,如果是偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些
a = int(input("请输入一个整数:"))
if a % 2 == 0:
    print(f"{a}是偶数")
    print(f"从1到{a}中可以整除3的数有:",end = "")
    for i in range(1,a + 1):
        if i % 3 == 0:
            print(i,",",end = "")
else:
    print(f"{a}是奇数")
    print(f"从1到{a}中可以整除5的数有:",end = "")
    for i in range(1,a + 1):
        if i % 5 == 0:
            print(i,",",end = "")
  1. 某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
a = int(input("请输入购买的T恤的件数:"))
b = int(input("请输入购买的裤子的条数:"))
if a == 2:
    c = 0.9 * 35 * 2
elif a > 2:
    c = 0.8 * 35 * a
elif a <=0:
    print("您输入的T恤件数有误")
if b >= 2:
    d = 0.9 * 120 * b
elif b <=0:
    print("您输入的裤子条数有误")
s = c + d
print(f"您购买了{a}件T恤,{b}条裤子,共需支付{s}元")
  1. 鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?
print("鸡兔同笼")
h = int(input("请输入头的数量:"))
f = int(input("请输入脚的数量:"))
for c in range(1,h + 1):
    r = h - c
    if 2 * c + 4 * r == f:
        print(f"鸡有{c}个,兔子有{r}个")
  1. 猜拳游戏:石头、剪刀、布的游戏
print("猜拳游戏")
import random
computer = random.randint(0,2)
print(computer)
while True:
    guss = int(input("请输入你的选择0代表石头,1代表剪刀,2代表布:"))
    if computer == guss:
        print("平局,再来一次")
    elif (guss == 0 and computer == 1)or(guss == 1 and computer == 2)or(guss ==2 and computer ==0):
        print("获胜")
        a = input("是否继续(Y/N):")
        if a == "N" or a =="n":
            break
        elif a == "Y" or a =="y":
            computer = random.randint(0,3)
        else:
            print("你的输入有误")
            break
    elif (guss == 0 and computer == 2)or(guss == 1 and computer == 0)or(guss ==2 and computer ==1):
        print("失败")
        a = input("是否继续(Y/N):")
        if a == "N" or a =="n":
            break
        elif a == "Y" or a =="y":
            continue
    elif (guss > 2 or guss < 0):
        print("你的输入有误!")
  1. 判断以下哪些不能作为标识符 (B,D,F)

A、a

B、¥a

C、_12

D、$a@12

E、false

F、False

标识符的命名规范:

1、只能由大小写字母、数字、_ 三种有效符号组成

2、不能以数字开头

3、不能以关键字或者保留字

4、不要使用builtins模块内已经定义过的标识符

5、命名尽量有意义

6、多个单词拼接时,建议使用小驼峰法或者下划线法

  1. 求50~150之间的质数是那些?
print("判断区间内存在的质数")
a = int(input("请输入左区间(整数):"))
b = int(input("请输入右区间(整数):"))
for i in range(a,b + 1):
    flag = True
    for j in range(2,i // 2):
        if i % j ==0:
            flag = False
            break
    if flag:
        print(i,",",end = "")
  1. 打印输出标准水仙花数,输出这些水仙花数
print("水仙花数")
for a in range(100,1000):
    b = a % 10
    c = (a // 10) % 10 
    d = (a // 100) % 10
    if b ** 3 + c ** 3 + d ** 3 == a:
        print(a)
  1. 个五位数,若在它的后面写上一个7,得到一个六位数A, 若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此 五位数.
print("一个五位数,若在它的后面写上一个7,得到一个六位数A, 若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此 五位数. ")
for i in range(10000,100000):
    g = i % 10
    s = (i // 10) % 10
    b = (i // 100) % 10
    q = (i // 1000) % 10
    w = i //10000
    new1 = w * 100000 + q * 10000 + b * 1000 + s * 100 + g * 10 + 7
    new2 = 7 * 100000 + w * 10000 + q * 1000 + b * 100 + s * 10 + g
    if new2 ==5 * new1:
        print(i)
  1. 有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币 [10, 8, 5, 3, 27, 99]
coins = int(input('请输入一堆硬币的个数:'))
if coins % 2 == 0:
    print(f'最少{coins/2:.0f}次可以拿完硬币')
else:
    print(f'最少{coins/2 + 0.5:.0f}次可以拿完硬币')
  1. 如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".
print('0到100以内的孪生数对有:')
m = 2
for num in range(3,100,2):
    for i in range(2,num//2 + 1):
        if num % i == 0:
            break
    else:
        if num - m == 2:
            print(f'({m},{num})')
        m = num
        
  1. . 给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和
n = int(input('请您输入您想输入的数字个数:'))
ls = []
for i in range(1,n+1):
    num = float(input(f'请输入第{i}个数:'))
    ls.append(num)
print(f'您输入的数字有:{ls}')
su = 0
for i in ls:
    su = su + i
print(f'这些数的最大值为:{max(ls)}')
print(f'这些数的最小值为:{min(ls)}')
print(f'这些数的和为:{su}')
print(f'这些数的平均值为:{su/n}')
  1. 将list中的重复数据去重,至少使用两种方案
ls = [1,2,8,6,4,9,4,2,9]
print(f'原列表为:{ls}')
# 方案一:set
ls = list(set(ls))
print(f'set去重后的列表为:{ls}')
# 方案二:遍历循环
ls1 = []
for n in ls:
    if n not in ls1:
        ls1.append(n)
ls = ls1
print(f'遍历去重后的列表为:{ls}')
  1. 两个列表进行合并操作
print("合并列表")
ls1 = [1,2,3,4,5]
ls2 = [6,7,8,9,0]
print(f"合并前列表1:{ls1}")
print(f"合并前列表2:{ls2}")
ls1.extend(ls2)
ls2.extend(ls1)
print(f"将列表2合并到列表1:{ls1}")
  1. 使用列表判断一个列表是否在另外一个列表中
print("使用列表判断一个列表是否在另外一个列表中")
n1 = int(input('请输入列表1包含的元素个数:'))
ls1 = []
for i in range(1,n1+1):
    elem = input(f'请输入列表1的第{i}个元素:')
    ls1.append(elem)
n2 = int(input('请输入列表2包含的元素个数:'))
ls2 = []
for i in range(1,n2+1):
    elem = input(f'请输入列表2的第{i}个元素:')
    ls2.append(elem)
print(f'您输入的列表1是:{ls1}')
print(f'您输入的列表2是:{ls2}')
flag = 1
if len(ls1) > len(ls2):
    print('列表1不在列表2中')
else:
    for i in ls1:
        if i not in ls2:
            flag = 0
            break
if flag == 1:
    print('列表1在列表2中')
else:
    print('列表1不在列表2中')
    
  1. 列表的反转 列表的排序
ls = [0,2,4,1,3,5]
print(f'ls:{ls}')
ls.reverse()
print(f'ls的反转:{ls}')
ls = [1,3,5,2,4,6]
ls.sort()
print(f'ls的排序:{ls}')
  1. 如何将0-10随机存入列表中
import random
ls = []
while True:
    i = random.randint(0,10)
    if i not in ls:
        ls.append(i)
    if len(ls) == 11:
        break
print(f'ls = {ls}')

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值