- (在金字塔模式中显示数字)编写一个嵌套for循环来显示下面的输出
integer = int(input("Enter the number of lines:")) i = integer + 30 for j in range(1,integer+1): # 输出空格 for k in range(1,i): print(" ",end = "") k += 1 i -= 2 a = 1 for x in range(1,j,1): print(a,end = " ") a *= 2 a //= 2 for x in range(j-2,0,-1): a //= 2 print(a,end = " ") print()
- (显示再2和1000之间的素数)显示在2和1000之间(包括2和1000)的素数,每行显示8个素数
# 45 for i in range(2,1001): flag = 1 for j in range(2,i-1): if(i % j == 0): flag = 0 break; if(flag): print(i,end = " ")
- 根据公式计算i=10000、20000……1000000时Π的近似值
#46 for i in range(10000,100001,10000): pi = 0 for j in range(1,i+1): pi += (-1 ** (i+1))/(2 * i - 1) print("{}的Π值为{}".format(i,4 * pi))
- 根据公式计算i=10000、20000……1000000时e的近似值
#47 sum = 1 e = 1 item = 1 for i in range(1,100001): sum *= i item = 1 / sum e += item if (i % 10000 == 0): print("{}的近似值e为:{}".format(i,e))
- 求小于10000的完全数。(四个)
#48 for i in range(2,10000): sum = 1 for j in range(2,i // 2 + 1): if i % j == 0: sum += j if sum == i: print(i,sum)
- 石头剪刀布游戏,计算机或用户赢得游戏超过两次的一方胜利
#49 import random guess_count = 0 computer_count =0 a = ["scissor","rock","paper"] while(computer_count != 2 and guess_count != 2): computer = int(random.uniform(0,2)) print(computer) guess = int(input("scissor (0),rock (1),paper (2):")) if computer == 0 and guess == 1 or computer == 1 and guess == 2 or computer == 2 and guess == 0: guess_count += 1 else: computer_count += 1 if(computer_count == 2): print("computer win") else: print("you win")
- 输入多个数(0作为结束标志),求出最大值以及最大值出现的次数
#50 max = 0 count = [0] i = int(input("请输入一个整数:")) while(i != 0): for j in range(1,i+1): count.append(0) print(i,end = " ") count[i] += 1 if(max <= i): max = i i = int(input("请输入一个整数:")) print("最大值是{},出现次数为:{}次".format(max,count[max]))
- 十进制转二进制
#51 integer = int(input("请输入一个二进制数:")) print(integer,"的二进制为:",end = " ") value = 0 basic = 1 while(integer): value = value * 10 + integer % 2 if(integer % 2 == 0 and value == 0): basic *= 10 integer //= 2 value1 = 0 while(value): value1 = value1 * 10 + value % 10 value //= 10 print(value1 * basic)
- 十进制转十六进制
# 52 print(hex(int(input("请输入一个十进制整数:"))))
- 蒙特卡罗模拟,编写程序:随机产生点,求出点落在奇数区域的概率
# 53 import random count=0 times = 1000000 for i in range(times): x,y=random.random(),random.random() if x < 0.5: count += 1 if x > 0.5 and x + y < 1.5 and y > 0.5: count += 1 print("投掷一百万次,落在奇数区域的概率是:{}".format(count/times))
- 显示从2001年到2100年的所有闰年(每行十个)
#54 count = 0 for i in range(2001,2101): if(i % 4 == 0 and i % 100 != 0 or i % 400 == 0): print(i,end = " ") count += 1 if(count % 10 ==0): print()
python循环阶段练习题
最新推荐文章于 2024-05-14 11:00:23 发布