python基本编程题

1. 求出1000以内的所有完数

    >  for i in range(1,1000):
    >     s = 0
    >     for k in range(1,i):
    >         if i % k == 0:
    >             s = s + k
    >     if i == s:
    >         print (i)

2. 使用python编写出乘法口诀表


 **for循环实现**

    > for m in range(1,10):
    > 
    >     for n in range(1,m+1):
    > 
    >         print('%s×%s=%s'%(m,n,m*n),end=' ')
    > 
    >     print()
**while循环实现**

    n=1;sum=1
    while n <= 9:
        i = 1 
        while i <= n:
            sum = i*n
            print('%d*%d=%d'%(i,n,sum),end=' ')
            i = i+1
        print('')
        n = n+1

‘%s×%s=%s’ 这个部分是字符串输出样子。%s类似于占位符,比如说。‘a*b=c’这是固定的,‘%s
是a’前面代表不固定,后面括号里面就是填充这些占位符的参数了,比如说,’%s是a’(o) 输出结果就会使 o是a
%s代表字符串的意思,可以是数字,可以是字母。%d代表数字的意思

3.判断闰年 **输入一个年份,判断其是否为闰年。 非世纪年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年); 世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)。

year = int(input("输入一个年份: "))
if (year % 4) == 0:
   if (year % 100) == 0:
       if (year % 400) == 0:
           print("{} 是闰年".format(year))   # 整百年能被400整除的是闰年
       else:
           print("{} 不是闰年".format(year))
   else:
       print("{} 是闰年".format(year))       # 非整百年能被4整除的为闰年
else:
   print("{} 不是闰年".format(year))

4.人机大战:人和机器进行猜拳游戏,首先选择角色:1 曹操 2张飞 3 刘备,然后选择的角色进行猜拳:1剪刀 2石头 3布 玩家输入一个1-3的数字;然后电脑出拳 随机产生1个1-3的数字,提示电脑出拳结果( 1剪刀 2石头 3布 ) ,双方出拳完毕后:角色和机器出拳对战,对战结束后,最后出示本局对战结果…赢…输,然后提示用户是否继续?按y继续,按n退出。最后结束的时候输出结果 角色赢几局 电脑赢几局,平局几次 游戏结束

import random
role_dict={'1':'曹操','2':'张飞','3':'刘备'}
fist_dict={1:'剪刀',2:'石头',3:'布'}

while True:
	
	#选择角色
	role_num=input('请选择角色:1 曹操 2张飞 3 刘备')
	print('你选择的角色是:{}'.format(role_dict[role_num]))
	if role_num == '1' or role_num == '2' or role_num == '3':
		role=0#统计角色赢了
		pc=0#统计机器赢了
		ping=0#统计平局次数
		while True:
			#角色出拳
			fist_num=int(input('请出拳:1剪刀 2石头 3布'))
			print('{}出拳:{}'.format(role_dict[role_num],fist_dict[fist_num]))
			if fist_num == 1 or fist_num == 2 or fist_num == 3:
				#机器出拳
				pc_fist_num=random.randint(1,3)#获取的是整数
				print('机器出拳:{}'.format(fist_dict[pc_fist_num]))

				#对战 当人的出拳数字-机器的出拳数字
				#=-2 or 1的时候 人赢了
				#-1 or 2 的时候 机器赢了
				if  fist_num-pc_fist_num in (-2,1):
					print("{}赢了".format(role_dict[role_num]))
					role+=1
				elif fist_num-pc_fist_num in (-1,2):
					print("机器赢了")
					pc+=1
				else:
					print('双方平局')
					ping+=1

				choice=input('是否要继续对战?按y继续,按n退出!')
				if choice=='y':
					continue
				elif choice=='n':
					break
			else:
				print('请输入1、 2、 3')
				continue
	else:
		print('请输入1、 2、 3')
		continue
print('{}赢{}次,pc赢{}次,平局{}次'.format(role_dict[role_num],role,pc,ping))

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值