如图,小白脸问题求大神
blob:https://fishc.com.cn/8144ac40-324a-470e-b17f-9833d2f3c8d4为何x,y,赋值的位置不同,输入结果不一致?是什么原因呢
本帖最后由 amsheldor 于 2021-11-21 21:01 编辑
#*排列游戏
temp = input("please input a int")
while not temp.isdigit():
temp = input("Please input a int")
num = int(temp)
x = y = num
while num :
while (x - 1) > 0:
print(" ", end = "")
x = x - 1
while y > 0 :
print("*", end = "")
y = y - 1
print()
num = num - 1
#*排列游戏
temp = input("please input a int")
while not temp.isdigit():
temp = input("Please input a int")
num = int(temp)
while num :
x = y = num
while (x - 1) > 0:
print(" ", end = "")
x = x - 1
while y > 0 :
print("*", end = "")
y = y - 1
print()
num = num - 1
试了下,并无不同,不知道楼主两次输入的数字是否相同~~ lightninng 发表于 2021-11-21 23:25
试了下,并无不同,不知道楼主两次输入的数字是否相同~~
======================= RESTART: /Users/a0/Desktop/临时📅.py ======================
please input a int5
*****
****
***
**
*
======================= RESTART: /Users/a0/Desktop/临时📅.py ======================
please input a int5
*****
感谢,不过你看,输出的结果不一致的 本帖最后由 lightninng 于 2021-11-22 17:07 编辑
amsheldor 发表于 2021-11-22 12:17
======================= RESTART: /Users/a0/Desktop/临时📅.py ======================
plea ...
抱歉,是我没看清楚
建议,自己用人工的方式跑一遍程序,举个例子,下面这段程序
temp = input("please input a int")
while not temp.isdigit():
temp = input("Please input a int")
num = int(temp)
while num :
x = y = num
while (x - 1) > 0:
print(" ", end = "")
x = x - 1
while y > 0 :
print("*", end = "")
y = y - 1
print()
num = num - 1
temp = input("please input a int")
控制台第一行出现【please input a int】,然后输入5,此时内存中一个变量temp=5
while not temp.isdigit():
temp = input("Please input a int")
因为temp=5,所以temp.isdigit()为真,直接跳出while循环
num=int(temp) ,内存中两个变量,num=temp=5
while num: ,由于num=5,所以进入循环
x = y = num,内存中四个变量x=y=num=temp=5
while (x - 1) > 0,x=5,所以(x-1)>0为真进入循环
print(" ", end = "") ,控制台第二行出现一个空格,并且下次输出不换行
x=x-1,x等于自己减1,内存中有四个变量,x=4,y=num=temp=5
......
请以这样的方式自己跑一遍两个程序,那么位置不同带来的变化就会了然于胸。
PS:更简单的方式是使用集成ide(比如pyharm,vs等)中的程序单步执行功能,并观察每一步中变量的值,单步执行和显示变量值都是ide自带的程序调试功能,具体看下面这篇帖子
https://fishc.com.cn/thread-173240-1-1.html
lightninng 发表于 2021-11-22 12:37
抱歉,是我没看清楚
建议,自己用人工的方式跑一遍程序,举个例子,下面这段程序
感谢大佬,😘
页:
[1]