当前位置:   article > 正文

Python基础练习之循环结构_如何用python利用while语句循环结构,python编程实现:一张厚度为0.1毫米的足够

如何用python利用while语句循环结构,python编程实现:一张厚度为0.1毫米的足够
3.	打印输出下面的图形(9行)
*
**
***
****
*****
******
*******
********
*********
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
#方法一:
str =  '*\n**\n***\n****\n*****\n******\n*******\n********\n*********'
print(str)
  • 1
  • 2
  • 3
*
**
***
****
*****
******
*******
********
*********
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
#方法二:
for _ in range(1, 10):
    print("*" * _, end='\n')
  • 1
  • 2
  • 3
*
**
***
****
*****
******
*******
********
*********


1)输入n,打印n行上面形状的图形
2)打印倒三角形
3)自己定义某种图形,进行打印
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
# 1)
for _ in range(1, eval(input("输入n:")) + 1):
    print("*" * _, end='\n')
  • 1
  • 2
  • 3
输入n:9
*
**
***
****
*****
******
*******
********
*********
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
# 2)
for _ in range(eval(input("输入n:")), -1, -1):
    print("*" * _, end='\n')
  • 1
  • 2
  • 3
输入n:9
*********
********
*******
******
*****
****
***
**
*
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

# 3)
n = eval(input("输入n:")) #输入行数
n = n + 1 if (n & 1) == 0 else n #输出菱形需要奇数行
tmp = n // 2 + 1 #最大宽度的一半,计算空格时所需
for _ in range(1, n + 1):
    print(" " * abs(tmp - _) + "*" * (n - abs(2 * _ - (n + 1))), end='\n')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
输入n:6
   *
  ***
 *****
*******
 *****
  ***
   *


4.	打印九九乘法口诀表
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

for i in range(1, 10):
    for j in range(1, i + 1):
        print("{}*{}={}\t".format(j, i, i * j), end='')
    print()
  • 1
  • 2
  • 3
  • 4
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	


5.	有一张厚度为0.1毫米的纸,假设它足够大,重复将其对折,求对折多少次后,其厚度可以抵达(再对折一次就超过)珠穆朗玛峰的高度。(备注:珠峰高为8848180毫米。)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
count = 0
while 0.1 * 2 ** count <= 8848180:
    count += 1
count - 1
  • 1
  • 2
  • 3
  • 4
26



6.	输入一个整数,判断它是否为素数(只能被1和它本身整除的数)
如果是,输出Yes,否则输出No
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
import math
import re

while True:
    n = input("输入一个整数:")
    if re.match("[1-9][0-9]*$", n) == None:
        continue
    else:
        n = eval(n)
        break

def isPrime(num):
    if num < 2:
        print("No")
        return
    for _ in range(2, int(math.sqrt(num)) + 1):
        if num % _ == 0:
            print("No")
            return
    print("Yes")
isPrime(n)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
输入一个整数:234dsfs2324
输入一个整数:3224dfs
输入一个整数:123.123
输入一个整数:234
No


7.	输入一组工资值(如果小于0,重新输入),直到输入0结束。统计工资的平均值并输出。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
lst = [] #存储有效值
while True:
    n = eval(input())
    while n < 0: #如果输入的数小于0,则重新输入并清空lst
        n = eval(input())
        list.clear(lst)
    if n == 0: #等于0退出
        break
    lst.append(n) #有效值加入lst
sum = 0
for _ in lst: #计算平均值
    sum += _
sum / len(lst)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
1
-2
1
2
3
0



2.0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/290021
推荐阅读
相关标签
  

闽ICP备14008679号