python基础练习题

1.用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。

import java.util.Scanner;
 
public class Test1 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入两个数:");
		int a = input.nextInt();
		int b = input.nextInt();
		if (a % b == 0 || a + b > 1000)
			System.out.println(a);
		else
			System.out.println(b);
	}
}

2.请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些。\

num = int(input('请输入一个数:'))
if num % 2 == 0:
    print(f'{num}为偶数,从1到{num}是3的倍数有:')
    for x in range(1,num+1):
        if x % 3 == 0:
            print(x)
else:
    print(f'{num}为奇数,从1到{num}是5的倍数有:')
    for x in range(1,num+1):
        if x % 5 == 0:
            print(x)

3.某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?

a=int(input("请输入买T恤的个数:"))
b=int(input("请输入买裤子的个数:"))
if a==2:
    if b<2:
        sum1=(a*35)*0.9
        sum2=b*120
        sum3=sum1+sum2
        print("小明应付",sum3)
    else:
        sum1 = (a * 35) * 0.9
        sum2 = (b * 120)*0.9
        sum3 = sum1 + sum2
        print("小明应付", sum3)
elif a>=3:
    if b<2:
        sum1=(a*35)*0.8
        sum2=b*120
        sum3=sum1+sum2
        print("小明应付",sum3)
    else:
        sum1 = (a * 35) * 0.8
        sum2 = (b * 120)*0.9
        sum3 = sum1 + sum2
        print("小明应付", sum3)
elif  a<2:
    if b<2:
        sum1=(a*35)
        sum2=b*120
        sum3=sum1+sum2
        print("小明应付",sum3)
    else:
        sum1 = (a * 35)
        sum2 = (b * 120)*0.9
        sum3 = sum1 + sum2
        print("小明应付", sum3)

4.鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?

#c为鸡,r为兔子
c = 1
while c <=35:
    r = 35 - c
    if c + r == 35 and c * 2 + r * 4 == 94:
        print(f'鸡有{c}只,兔子有{r}只')
    c+=1

5.猜拳游戏:石头、剪刀、布的游戏。

# 0是石头 1是剪刀 2是布
if(user == 0 and computer == 0):
	print("平局")
elif(user == 0 and computer == 1):
	print("人获胜")
elif(user == 0 and computer == 2):
	print("计算机获胜")
elif(user == 1 and computer == 0):
	print("计算机获胜")
elif(user == 1 and computer == 1):
	print("平局")
elif(user == 1 and computer == 2):
	print("人获胜")
elif(user == 2 and computer == 0):
	print("人获胜")
elif(user == 2 and computer == 1):
	print("计算机获胜")
elif(user == 2 and computer == 2):
	print("平局")

6.求50~150之间的质数是那些?

def iszhengchu9(x):
    sum_x = 0
    ls = list(str(x))
    for i in ls:
        num = int(i)
        sum_x += num
    if x > 9 and (x - sum_x)%9 == 0:
        return True
    else:
        return False
 
x = int(input('请输入任意大于9的整数以验证:'))
if iszhengchu9(x):
    print(f'{x}验证成功')
else:
    print(f'{x}验证失败')

7.打印输出标准水仙花数,输出这些水仙花数。

def isSXH(x):
    if (x//100)**3 + (x%100//10)**3 + (x%10)**3 == x:
        return True

print('水仙花数共有:')
for x in range(100,1000):
    if isSXH(x):
        print(x,end='  ')

8.验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除。

def iszhengchu9(x):
    sum_x = 0
    ls = list(str(x))
    for i in ls:
        num = int(i)
        sum_x += num
    if x > 9 and (x - sum_x)%9 == 0:
        return True
    else:
        return False
 
x = int(input('请输入任意大于9的整数以验证:'))
if iszhengchu9(x):
    print(f'{x}验证成功')
else:
    print(f'{x}验证失败')

9.一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数。

def wu():
	for number in range(10000,100000):
		A = number * 10 + 7
		B = number + 700000
		if B / A == 5:
			print(f"五位数:{number}")

wu()

10.有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币。
[10, 8, 5, 3, 27, 99]

def coin():
 num = 0

 for i in ls:
  a = i % 2
  if a == 0:
   num = i // 2 + num
  else:
   num = i // 2 + num + 1
 print(f"最少需要取{num}次")
 
ls = list([10,8,5,3,27,99])
coin()

11.如果两个素数之差为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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值