Python基础练习题-适合小白-(一)


个人整理收录的一些适合python小白学习的基础练习题(一)

1.整数求和

计算2个整数的和。这两个整数都在1到1000之间

a, b = input().split()
a = int(a)
b = int(b)
c = a + b
print('%d' % c)

2.伽马函数

输入一个数n,求它的伽马函数值

from math import gamma
n = int(input())
print(gamma(n))

3.总成绩计算

总成绩=作业成绩×20%+小测成绩×30%+期末考试成绩×50%
输入作业成绩、小测成绩、期末成绩,计算出总成绩

A, B, C = input().split()
A = int(A)
B = int(B)
C = int(C)
print(int(A/5 + B*3/10 + C/2))

4.字符串子串判断

判断一个字符串在另一个字符串内是否存在

a = input()
b = input()
if a in b :
	print('True')
else:
	print('False')

5.回文串

回文串的定义是反向排列与原串相同。

def is_palindromic(num):
	if len(num) < 2:
		return True
	if num[0] != num[-1]:
		return False
	return is_palindromic(num[1:-1])

num = input()
if is_palindromic(num):
	print('True')
else:
	print('False')

6.汇率转换

输入一行字符串,表示人民币或者美元的数量。保证字符串的最后一位是 A-Z 的字母,其他位置均为数字。
•人民币的最后一位一定是 ‘R’ 或者 ‘r’
• 美元的最后一位一定是 ‘D’ 或者 ‘d’
输出转换后的结果。结果表示为一个字符串,前面输出一个整数,最后一位输出 “R” 或者 “D” 表示人民币或者美元。
如果不能转换,输出 “Error!” 。
1美元 = 6人民币

money = input().lower()
if money[-1] == 'r':
	stnum = str(int(money[:-1]) // 6) + 'D'
elif money[-1] == 'd':
	stnum = str(int(money[:-1]) * 6) + 'R'
else:
	stnum = 'Error!'
print(stnum)

7.因子计算

输入一个数字,计算出它的因子里面有多少4和7

n = int(input())
four_num = 0
seven_num = 0
while n >= 4:
	if n % 4 == 0:
		four_num += 1
		n = n // 4
	elif n % 7 == 0:
		seven_num += 1
		n = n // 7
	else:
		break
print("{} {}".format(four_num, seven_num))

8.文章统计

给你一篇英文文章,请问你里面有多少个空格、数字字符、英文字母和其他字母。

lines = []
while True:
	try:
		lines.append(input())
	except EOFError:
		break
spaces_lines = numbers_lines = letters_lines = other_lines = 0
for line in lines:
	for i in line:
		if i is ' ':
			spaces_lines += 1
		elif i.isdigit():
			numbers_lines += 1
		elif i.isalpha():
			letters_lines += 1
		else:
			other_lines += 1
	other_lines += 1 #在这里换行属于其它字母
other_lines -= 1
print('{} spaces, {} numbers, {} letters, {} other characters.'.format(spaces_lines, numbers_lines, letters_lines, other_lines))

9.乌龟画蛇

利用turtle库画一条蛇

import turtle

def drawSnake( rad, angle, num, neckrad):
#draw snake's body
	for i in range(num):
		turtle.circle(rad, angle)
		turtle.circle(-rad, angle)
#draw snake's neck
	turtle.circle(rad, angle/2)
	turtle.fd(rad)
	turtle.circle(neckrad+1, 180)
#draw snake's head
	turtle.fd(rad*2/3)
	turtle.exitonclick()

def main():
	turtle.setup(1300, 800, 0, 0)
	turtle.pensize(30)
	turtle.pencolor('blue')
	turtle.seth(-40)
	drawSnake(40,80,3,15)

main()

10.最大质数和

输入一个不大于10000的正整数S,为两个质数的和。求这两个质数的积最大。

def Prime_num(n):
	if n == 1:
		return True
	for i in range(2, n//2 + 1):
		if n % i == 0:
			return False
	return True

sum_two = int(input())
max_product = 0
for i in range(1, sum_two // 2 + 1):
	if Prime_num(i) and Prime_num(sum_two - i):
		max_product = max(i * (sum_two - i), max_product)
print(max_product)
  • 8
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值